python运算符及优先级

计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算。

一、算数运算

以下假设变量:a=10,b=20

 

二、比较运算

以下假设变量:a=10,b=20,注:<>不等于在python2中使用,python3中不等于为 !=

 

三、逻辑运算

以下假设变量:a=10,b=20

 

四、赋值运算

以下假设变量:a=10,b=20

 

五、成员运算

示例:

>>> a = "hello"
>>> "he" in a
True
>>> "hl" in a
False
>>> a = [1,5,10,100]
>>> 10 in a
True
>>> 11 in a
False

六、身份运算

== 判断两个变量值是不是相等,is 判断两个变量是不是引用同一个对象,对象id是不是相同。

之前博客有说,python有内存优化机制,长字符串和[-5,257)范围外的数字没有优化,以此为例,例如:

>>> a = 257
>>> b = 257
>>> id(a)
2588953715824
>>> id(b)
2588983651248
>>> a == b
True
>>> a is b
False
>>> c = 256
>>> d = 256
>>> id(c)
1955897424
>>> id(d)
1955897424
>>> c == d
True
>>> c is d
True

七、位运算

之前博客有说二进制和二进制与十进制的转换,位运算符是把数字看作二进制来进行计算的。

以下假设变量:a=60,b=13

 # 以下为示例代码,二进制有补0和空格

  >>> a = 60
  >>> b = 13

>>> bin(a)
'0b0011 1100'  
>>> bin(b)
'0b0000 1101'
>>> a&b
12
>>> bin(12)
'0b0000 1100'
>>> a|b
61
>>> bin(61)
'0b0011 1101'
>>> a^b
49
>>> bin(49)
'0b0011 0001'
>>> ~a
-61
>>> bin(-16)
'-0b0001 0000'
>>> a<<2
240
>>> bin(240)
'0b1111 0000'
>>> a>>2
15
>>> bin(15)
'0b0000 1111'

Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

 

posted @ 2019-06-14 09:11  relex  阅读(15428)  评论(0编辑  收藏  举报