前言
python中的算数运算符,赋值运算符大家都比较熟悉,这里说一下逻辑运算符
逻辑运算符
python中也支持逻辑运算,但python中逻辑运算符的功能与其它语言有所不同. python中分别使用’or’, ‘and’, ‘not’这三个单词作为逻运算’或’, ‘与’, ‘非’的运算符,其中or与and为双目运算符,not为单目运算符. 逻辑运算符的操作数可以为表达式或对象,下面将对它们的功能分别进行说明
or
若or运算符左操作数的布尔值为True,则返回左操作数,否则返回右操作数或其计算结果(若为表达式),示例如下:>>> 0 or 3+5 # 左操作数布尔值为False 8 >>> 3 or [] # 做操作数布尔值为True 3
and
若左操作数的布尔值为False,则返回左操作数或其计算结果(若为表达式),否则返回右操作数的执行结果,示例如下: ```py3-3 and 5 0 3-4 and 5 5
not
若操作数的布尔值为False则返回True,否则返回False,示例如下:>>> not (3-5) False >>> not(False) True
逻辑运算符的优先级
not > and > or
默认情况下,运算符的优先级决定了复杂表达式中的那个单一表达式先执行,但用户可以使用圆括号"()"
改变表达式的执行顺序. 运算符一般按照自左向右的顺序结合>>> 0 and 3 or 4 # 可以理解为 0 * 3 + 4 这样.先判断前一部分,然后和后一部分操作 4 >>> 0 and 3 or 4 and 5 # 0*3 + 4*5 5 >>> 0 and 3 or 4 and 5 or 6 # 0*3 + 4*5 + 6 5 >>> 0 and 3 or 4 and 5 or 6 and 7 # 0*3 + 4*5 + 6*7 5