python各种运算符的优先级

对于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'

 

具体的运算符的应用上面已经做了详细说明,下面讲一下这些运算符的优先级,在我们使用的时候,该如何选择合适的运算符,并获取准确的运算结果,这就需要我们对优先级有所了解。

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值