Python逻辑运算符
Python语言反对逻辑运算符,以下假如变量 a 为 10, b为 20:
运算符 | 逻辑表达式 | 形容 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
a = 10b = 20 if ( a and b ): print ("1 - 变量 a 和 b 都为 true")else: print ("1 - 变量 a 和 b 有一个不为 true") if ( a or b ): print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")else: print ("2 - 变量 a 和 b 都不为 true") # 批改变量 a 的值a = 0if ( a and b ): print ("3 - 变量 a 和 b 都为 true")else: print ("3 - 变量 a 和 b 有一个不为 true") if ( a or b ): print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")else: print ("4 - 变量 a 和 b 都不为 true") if not( a and b ): print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")else: print ("5 - 变量 a 和 b 都为 true")
1 - 变量 a 和 b 都为 true
2 - 变量 a 和 b 都为 true,或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为 true,或其中一个变量为 true
5 - 变量 a 和 b 都为 false,或其中一个变量为 false
Python成员运算符
除了以上的一些运算符之外,Python还反对成员运算符,测试实例中蕴含了一系列的成员,包含字符串,列表或元组。
运算符 | 形容 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
a = 10b = 20list = [1, 2, 3, 4, 5 ] if ( a in list ): print ("1 - 变量 a 在给定的列表中 list 中")else: print ("1 - 变量 a 不在给定的列表中 list 中") if ( b not in list ): print ("2 - 变量 b 不在给定的列表中 list 中")else: print ("2 - 变量 b 在给定的列表中 list 中") # 批改变量 a 的值a = 2if ( a in list ): print ("3 - 变量 a 在给定的列表中 list 中")else: print ("3 - 变量 a 不在给定的列表中 list 中")
1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
3 - 变量 a 在给定的列表中 list 中
Python身份运算符
身份运算符用于比拟两个对象的存储单元
运算符 | 形容 | 实例 |
---|---|---|
is | is 是判断两个标识符是不是援用自一个对象 | x is y, 相似 id(x) == id(y) , 如果援用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是援用自不同对象 | x is not y , 相似 id(a) != id(b)。如果援用的不是同一个对象则返回后果 True,否则返回 False。 |
▲注: id() 函数用于获取对象内存地址。
a = 20b = 20 if ( a is b ): print ("1 - a 和 b 有雷同的标识")else: print ("1 - a 和 b 没有雷同的标识") if ( id(a) == id(b) ): print ("2 - a 和 b 有雷同的标识")else: print ("2 - a 和 b 没有雷同的标识") # 批改变量 b 的值b = 30if ( a is b ): print ("3 - a 和 b 有雷同的标识")else: print ("3 - a 和 b 没有雷同的标识") if ( a is not b ): print ("4 - a 和 b 没有雷同的标识")else: print ("4 - a 和 b 有雷同的标识")
1 - a 和 b 有雷同的标识
2 - a 和 b 有雷同的标识
3 - a 和 b 没有雷同的标识
4 - a 和 b 没有雷同的标识
▲is 与 == 区别:
is 用于判断两个变量援用对象是否为同一个, == 用于判断援用变量的值是否相等。
参考:Python3 运算符|菜鸟教程