python运算优先级_python运算符及优先级

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

一、算数运算

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

1677184-20190614090955984-1411123315.png

二、比较运算

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

1677184-20190614091254181-1222705680.png

三、逻辑运算

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

1677184-20190614091554230-263306684.png

四、赋值运算

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

1677184-20190614091708628-999440357.png

五、成员运算

1677184-20190614092052671-991770362.png

示例:

>>> a = "hello"

>>> "he" ina

True>>> "hl" ina

False>>> a = [1,5,10,100]>>> 10 ina

True>>> 11 ina

False

六、身份运算

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

1677184-20190614092439693-1626777899.png

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

>>> a = 257

>>> b = 257

>>>id(a)2588953715824

>>>id(b)2588983651248

>>> a ==b

True>>> a isb

False>>> c = 256

>>> d = 256

>>>id(c)1955897424

>>>id(d)1955897424

>>> c ==d

True>>> c isd

True

七、位运算

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

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

1677184-20190614094221444-1394712408.png

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

>>> a = 60

>>> b = 13

>>>bin(a)'0b0011 1100'

>>>bin(b)'0b0000 1101'

>>> a&b12

>>> bin(12)'0b0000 1100'

>>> a|b61

>>> bin(61)'0b0011 1101'

>>> a^b49

>>> 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运算符优先级

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

1677184-20190614095305637-2051661811.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值