python3学习日记——运算符

运算符

Python语言支持以下类型的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 运算符优先级

下面主要讲一下成员运算符、身份运算符、逻辑运算符以及运算符优先级

成员运算符

运算符 描述
in 如果在指定的序列中找到值返回 True,否则返回 False。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。
fruit = ['apple','orange','banana']
ret = 'apple' in fruit  # ret的值为True
ret = 'apple' not in fruit  # ret的值为False

身份运算符常用作条件判断语句的条件

# 如果'apple'存在于列表中,则删除该元素
if 'apple' in fruit:
	fruit.remove('apple')

身份运算符

运算符 描述
is is 是判断两个标识符是不是引用自一个对象
is not is not 是判断两个标识符是不是引用自不同对象

注:身份运算符比较内存地址是否相等, == 用于判断引用变量的值是否相等。

# 上述代码继续
fruit is []  # 返回的是False,fruit不是一个空列表
list1, list2 = [1,2,3],[1,2,3]
list1 is list2 # 返回的是False,两个列表的引用地址不一样
a , b = 1, 1 
a is b # 返回的是True,number类型不是引用类型,值相等即身份相同

注意几种特例

[] is None # 返回False,空列表不等于None
'' is None # 返回False,空字符串不等于None
None is None # 返回True
# 如果需要判断空字符串或者空的序列 直接用下面代码
a, b = '',[]
if a:
	print('打印a') # 不会执行该语句
if b:
	print('打印b') # 不会执行该语句

逻辑运算符

运算符 逻辑表达式 描述
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
or x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

逻辑运算符的优先级是非与或

a, b, c = True,False,True
a and b # False
a or b # True
not a # False
not a and b or c # 按照优先级返回True

逻辑运算符常常和条件语句一起使用,用来判断一些条件

运算符优先级

python3学习日记——运算符_第1张图片

你可能感兴趣的:(Python)