运算符
算术运算符
+,- ,* ,**,/(小数),//(整数除),%
关系运算符
< ,> ,<= , >= ,!= , ==
逻辑运算符
AND和OR运算,返回能决定运算结果的操作数
1 AND
True and False //false
False and True //False
1 and 2 //2
1 and 0 //0
2 OR
True or False //True
False or True //True
0 or 1 //1
2 or 1 //2
3 NOT :返回True或False
not '' //True
not 0 //True
not 1 //False
成员运算符
in , not in
判断一个元素是否在另外的一个序列中
(字符串,列表,元组,集合,字段) 。对于字典来说,它判断的是key
'a' in 'abcd' // True
3 in [1,2,3,4] //True
1 in (2,3,4) //False
'name' in {'name':'大卫'} //True
身份运算符
is :判断两个变量的身份是否相同,简单的说就是变量的地址是否 相等(id)
==: 关系运算符,判断两个变量的值是否相等
a ,b =1,1
a is b //True
a== b //True
a ,b =1,1.0
a is b //False
a== b //True
a,b =True,True
a == b //True
a is b //True
a,b = 'hello', 'hello'
a == b //True
a is b //True
a,b = (1,2),(1,2)
a == b //True
a is b //False
a,b = (1,2),(2,1)
a==b //False ,元组有序
a is b //False
a,b = [1,2],[2,1]
a==b //False,列表有序
a is b //False
a,b ={1,2},{2,1}
a == b //True,集合无序不重复
a is b //False
- 不可变对象,如果值在内存中不存在就创建。如果已存在则直接引用。元组除外
- 可变对象,每次都在内存中分配内存创建。
位运算
& :按位与
| : 按位或
^ :按位异或
~:按位非
<< :左移
其他进制的数字会先被转化为2进制数,然后在操作
运算符优先级
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
and or not 逻辑运算符
优先级大致上来说 算术运算符 > 位运算符 > 关系运算符(比较运算符) >身份运算符 > 成员运算符> 逻辑运算符
扫描二维码关注公众号,回复:
3374526 查看本文章
参考文献:
菜鸟