【Python】 解析Python中的運算符
阿新 • • 發佈:2019-02-25
情況 true not in 方法 class 3.3 col list als
Python中的運算符相比較於傳統的C/C++差別不是很大,主要是一些個別的運算符上的差別。包括:算術、比較、賦值、位、邏輯、成員、身份等。
它們的優先級:
符號 | 說明 |
** | 指數(最高優先級) |
~,+,- | 按位翻轉,一元加號和減號(最後兩個的方法名為+@ 和 -@,例如:+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中的運算符