学习了许久的Python,我单独总结出了Python中比较常见的6种运算符,感觉略有不全,希望大伙可以一起讨论与研究Python!

一、算术运算符

减 -

乘 *

除 /

取余 %

取整 //

异号 -

不变号 +

取绝对值 abs(x)

转为整数 int(x)

转为浮点数 float(x)

复数 complex(re,im)

共轭复数 c.conjugate()

返回一个数值对(x//y,x%y) divmod(x,y)

x的y次幂(两种写法) x**y,pow(x,y)

 

二、比较运算符

小于(<),小于等于(<=),等于(==),大于(>),大于等于(>=),不等于(!=),is(判断两个标识符引用一个对象) ,is not(不是同一个对象)

1.八个比较运算符优先级相同

2.python允许链式比较 x<y<z,它相当于 x<y and y<z

3.复数不能用于比较大小,只能用于比较相等

 

三、逻辑运算符

x or y 短路运算符 (它只有第一个运算数为false才计算第二个运算数的值)

x and y 短路运算符 (它只有第一个运算数为True才进行第二个运算数的值)

not x not的优先级低(not a==b 相当于 not(a==b)),a = not b 是错误的

 

四、位运算符

python中的位运算符是把数字看作是二进制来进行计算的

& 按位与运算符:参数运算的两个值(二进制),如果两个相应为都为1,则改为的结果为 1,否则为0

| 按位或运算符:参与运算的两个值,只有对应位的两个数,有一个为1,结果为1

^ 按位异或运算符:对应位数数值不同为1,相同为0

~ 按位取反运算符:针对单个数,二进制格式,相应的位的数值取反,1变0,0变1

<< 左移动运算符:各二进制位左移若干位,高位丢弃,低位补0

>> 右移动运算符:各二进制位又移若干位

>>> a = bin(20)
>>> a
'0b10100'
>>> b = bin(30)
>>> b
'0b11110'

二进制数:默认8位,0b前缀标识,从地位到高位读取,从右到左写,不够的位数补0,直到读取8位为止

调用python二进制函数bin,0b代表二进制标识符,二进制数默认8位,则a,b对应的二进制数为:

a = 25 = 0001 1001

b = 62 = 0011 1110

a&b =24= 0001 1000

a|b =63 = 0011 1111

a^b = 39 = 0010 0111

~a = -26 = 1110 0110

负数:

源码:0001 1010

反码:1110 0101

补码:1110 0110

a<<2 = 100 = 0110 0100

a>>2 = 6= 0000 0110

>>> bin(25)
'0b11001'
>>> bin(62)
'0b111110'
>>> 25&62
24
>>> bin(24)
'0b11000'
>>> 25|62
63
>>> bin(63)
'0b111111'
>>> 25^62
39
>>> bin(39)
'0b100111'
>>> ~25
-26
>>> bin(-26)
'-0b11010'
>>> 25<<2
100
>>> bin(100)
'0b1100100'
>>> 25>>2
6
>>> bin(6)
'0b110'

验证

>>> eval('0b00011000')
24
>>> eval('0b00111111')
63
>>> eval('0b00100111')
39
>>> eval('-0b00011010')
-26
>>> eval('0b01100100')
100
>>> eval('0b00000110')
6

五、赋值运算符

= 简单的赋值

+= 加法赋值运算

-= 减法赋值运算

*= 减法赋值运算

/= 除法赋值运算

%= 取余法赋值运算

**= 幂赋值运算

//= 取整除赋值运算

 

六、成员运算符

python提供了成员运算符,测试一个元素是否在序列(squence)中

in 如果指定元素在序列中,返回True,否则返回False

not in 如果指定元素不在序列中,返回True,否则返回False

谢谢大伙观看!

posted on 2019-09-15 09:41  三一  阅读(6643)  评论(0编辑  收藏  举报