Python中的and、or及not

Python 中 & 、| 代表的是位运算符, and 、or、not代表的是逻辑运算符:

1、 python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。如(0和’'均为假值):

>>> 1 and 2				#若所有值均为真,则返回最后一个值
2
>>> 2 and 1				#若所有值均为真,则返回最后一个值
1
>>> 1 and 0				#若存在假,返回第一个假值
0
>>> 0 and 1				#若存在假,返回第一个假值
0
>>> 0 and ''			#若存在假,返回第一个假值
0
>>> '' and 0			#若存在假,返回第一个假值
''

2、python 中的or从左到右计算表达式,若所有值中存在真,则返回的是第一个真的值;若所有值中都为假,返回的是最后一个判断条件的值。如(0和’'均为假值):

>>> 1 or 2				#若所有值中存在真,则返回的是第一个真的值
1
>>> '' or 1				#若所有值中存在真,则返回的是第一个真的值
1
>>> 1 or ''				#若所有值中存在真,则返回的是第一个真的值
1
>>> 0 or ''				#所有值均为假,结果为最后一个判断条件的值
''
>>> '' or 0				#所有值均为假,结果为最后一个判断条件的值
0

3、python 中的not()表达式,若括号内为真,则返回假,若括号内为假,则返回真。如(0和’'均为假值):

>>> a = 10
>>> b = 20
>>> c = 0
>>> d = ''
>>> not(a and b)		#括号中结果为b=20
False
>>> not(a and c)		#括号中结果为c=0
True
>>> not(b and a)		#括号中结果为a=10
False
>>> not(c and a)		#括号中结果为c=0
True
>>> not(c and d)		#括号中结果为c=0
True
>>> not(d and c)		#括号中结果为d=''
True
>>> not(a or b)			#括号中结果为a=10
False
>>> not(b or a)			#括号中结果为b=20
False
>>> not(a or c)			#括号中结果为a=10
False
>>> not(c or a)			#括号中结果为a=10
False
>>> not(c or d)			#括号中结果为d=''
True
>>> not(d or c)			#括号中结果为c=0
True

你可能感兴趣的:(Python,and,or,not)