Python 解析Python中的运算符

Posted David Wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 解析Python中的运算符相关的知识,希望对你有一定的参考价值。

Python中的运算符相比较于传统的C/C++差别不是很大,主要是一些个别的运算符上的差别。包括:算术、比较、赋值、位、逻辑、成员、身份等。
它们的优先级:

符号 说明
** 指数(最高优先级)
~,+,- 按位翻转,一元加号和减号(最后两个的方法名为[email protected][email protected],例如:+5,-5 正5,负5)
*,/,%,// 乘,除,取模和取整数
+,- 二元加号和减号
>>,<< 右移,左移运算符
& 按位与
|,^ 按位或,按位异或
<=,>=,==,!= 比较运算符
=,%=,/=,//=,-=,+=,*=,**= 赋值运算符
is,is not 身份运算符
in,not in 成员运算符
not,or,and 逻辑运算符

 

a = 10
print(a ** 2)#100
print(~a)#a的二进制源码00001010,取反后11110101,(是负数用补码,反码10001010,补码10001011)
print(+a)#5
print(-a)#-5
print(a>>1)#5
print(a<<1)#10
print(a&2)#2
print(a^1)#11
print(a|3)#9
print(a!=6)#True
print(a/3)#3.333
print(a//3)#3
print(a%3)#1
print(a>6 and a<12)#True
print(not a)#False

 

in,not in的使用

a = 3
list = [1,2,3,4,5]
if (a in list):
    print("a 在给定的list 列表中");
else if(a not in list):
    print("a 不在给定的list列表中");
else:
    print("不可能出现");

== 和 is 的区别

Python语言中的变量通常有3个属性,分别是name,id和value,其中的name为变量名,id与内存地址联合,value变量的值。

== 和 is 都可以用来比较两个对象,但是==比较是对象的值,is比较的是对象的地址。例如:

a = [1,2,3]
b = [1,2,3]
print("a的id是",id(a));#a的id是140509619346760
print("b的id是",id(b));#b的id是140509748600456
print(a == b)#True
print(a is b)#False

其中==运算符比较的是变量的value,is运算符比较的是变量的id。a和b变量的值是一样的,所以a==b为True;a和b变量的id是不一样的,所以a is b 为False。

但是并不是所有情况都是这样,对于小整数,Python缓存了-5~256之间的所有整数,共262个,例如:

a = 200
b = 200
print(a == b)#True
print(a is b)#True

 






以上是关于Python 解析Python中的运算符的主要内容,如果未能解决你的问题,请参考以下文章

Python中verbaim标签使用详解

如何在 python 中并行化以下代码片段?

深入解析Python中的变量和赋值运算符

深入解析Python中的变量和赋值运算符

使用非utf-8编码在Python中解析XML

python怎么从一堆数据中取数