Python运算符详解
编程如同数学一样也存在很多运算符。
一、比较运算符
顾名思义,比较运算符就是用来比较数值的大小。如果比较成立吗,返回true,否则返回false。这就是布尔表达式,即能够
返回布尔值的表达式称为布尔表达式。
1、布尔表达式
>>> print(1 > 2)
False
>>> print(3 > 1)
True
>>> print(2 >= 1)
True
>>> print(5 != 5)
False
>>> print('p' in 'print')
True
下图罗列了比较运算符,当仅对值进行简单比较时建议使用 == 和!=操作符。这些运算符和大多数数学运算符的用法类似,比如“>”就是大于号的意思,“<”就是小于号的意思。
涉及数值之间的比较,建议使用比较运算符,但是比较运算符 == 和 !=有时候也适用于字符串类型。
二、逻辑运算符
要实现一个复杂的程序功能,逻辑运算符是必不可少的。大概逻辑运算符就是数学中的或、且、否等操作符,分别对应的关键字是not、and、or。优先级为not> and> or。逻辑操作符and和or也称作短路操作符或者惰性求值。参数从左向右解析,一旦结果可以确定就停止。
例如:如果a 和 c 为真 而b 为假,则a and b and c不会解析c 。作用于一个普通的非逻辑值时,短路操作符的返回值通常是最后一个变量。
逻辑运算符返回的结果不一定是布尔值,除非输入的操作数据是布尔值。其次,and、or、和not的优先级是not >and> or。
1、逻辑运算符的返回值
>>> a=0
>>> b=1
>>> a and b
0
>>> a or b
1
>>> not a
True
>>> a = 'a'
>>> a and b
1
虽然逻辑运算符返回的结果不一定是布尔值,但是涉及布尔值true或false的判断,建议使用not,不要用比较运算符直接与true或false比较。
三、位运算符
位运算符就是对目标数据进行二进制操作,把对应的操作数转换成相应的二进制数,然后对二进制数再进行位运算
1.位运算
>>> a=10
>>> print(a<<2)
40
>>> print(a>>2)
2
意思就是先把数值10赋予变量a,换算成二进制就是1010,然后经过位运算
符“<<”处理,各个二进制数字全部左移两位,高位丢弃,低位补0,于是变成101000,最后转换成十进制为40
四、成员运算符
成员运算符包括in 和not in
>>> a = 'pig'
>>> b = 'apple'
>>> a in b
False
>>> a = 'a'
>>> a in b
True
>>> a not in b
False
五、三目运算符
也称三元运算符,写成表达式为x if c else y。表达式首先评估条件c(不是x);如果c为真,则计算x并返回其值;否则,评估y并返回其值。三元运算符具有所有python操作的最低优先级。举个例子,如果a >b则返回a;否则返回b,即取a和b中最大值。三元运算符表达式为h = a if a> b else b
总结
over!