python有三种逻辑操作:and,or,not。没错,你没看错就这三个英文单词。刚开始我以为是自己理解错了,毕竟java里面的逻辑操作符真的是”符号“。往下看到demo的时候真的是这三个单词,真的理解到python的语法好任性呀~哈哈~
python的and,or,not分别表示与,或,非。例如(x<0)and(x>10)这个表达式,and操作符两侧连接的是两个条件表达式,只有当X大于0并且X小于10的时候,整个表达式才为真。例如(n%2==0)or(n%3==0)这个表达式,or判断这个两个表达式只要有一个为真,整个表达式就为真。not操作符主要时对表达式的值取反。not(X>Y),如果x大于Y,取反后整个表达式的值为假。
严格意义上来说,逻辑操作符的操作数应该是布尔表达式,但是前面也提及到了python的语法比较宽松,即使操作数时数字,解释器也把数字当成“表达式”。
python中空字符串为假,非空字符串为真;为0数字为假,非0数字为真。
数字和字符串之间,字符串之间的逻辑操作规律:
and:左侧的表达式为真,整个表达式返回的值是右侧表达式的值;左侧为假,返回左侧表达式的值。
or:只要两侧都是真,整个表达式返回左边表达式的值;一真一假,返回真值表达式的值;0和空字符串,谁在右侧返回谁
not:比较简单,直接取反
>>> 9 and "ok" 'ok' >>> "ok" and 9 9 >>> "ok" and "me" 'me' >>> "" and 9 '' >>> "" and "ok" '' >>> 0 and "ok" 0
>>> 9 or "ok" 9 >>> "" or 9 9 >>> "" or 0 0 >>> 0 or "" ''
>>> not 0 True >>> not "" True