運算符&表達式
-
賦值運算符
str='spam' m,n=10,20 [s1,s2]=['hello','python'] a,b,c,d='spam' x,*y='spam' #等價於x,y='spam'[0],'spam'[1:] #x,*y,z='spam' e=f=20 g+=20
demo
l=[1,2,3,4,5] while l: front,*l=l print(front)
注意: *l每次得到的都是一個列表,如果沒有數據就是空列表。
-
算術運算符
** 冪 - 返回x的y次冪 a**b 爲10的20次方, 輸出結果 100000000000000000000 // 取整除 - 返回商的整數部分 import math f=-3.89 print(f//1) print(math.floor(f)) print(math.trunc(f)) # 9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0
-
比較運算符
== 等於 - 比較對象是否相等
<>或者!= 兩者相同 #在python3中<>被移除比較預算符 x<y<z 等價於 x<y and y<z
-
Python邏輯運算符
-
and
-
not
-
or
-
-
Python成員運算符
運算符 描述 實例 in 如果在指定的序列中找到值返回 True,否則返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 not in 如果在指定的序列中沒有找到值返回 True,否則返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 arr=['python','java','c++'] print('c++' in arr) print('c' not in arr)
-
Python身份運算符
運算符 描述 實例 is is 是判斷兩個標識符是不是引用自一個對象 x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False is not is not 是判斷兩個標識符是不是引用自不同對象 x is not y , 類似 id(a) != id(b)。如果引用的不是同一個對象則返回結果 True,否則返回 False。 is 與 == 區別:
is 用於判斷兩個變量引用對象是否爲同一個, == 用於判斷引用變量的值是否相等。a=20 b=20 c=30 print(a is b) #True print(id(a)==id(b)) #True print(b is c) #False
python中會爲每個出現的對象分配內存,哪怕他們的值完全相等(注意是相等不是相同)。如執行a=2.0,b=2.0這兩個語句時會先後爲2.0這個Float類型對象分配內存,然後將a與b分別指向這兩個對象。所以a與b指向的不是同一對象:
但是爲了提高內存利用效率對於一些簡單的對象,如一些數值較小的int對象,python採取重用對象內存的辦法,如指向a=2,b=2時,由於2作爲簡單的int類型且數值小,python不會兩次爲其分配內存,而是隻分配一次,然後將a與b同時指向已分配的對象:
Python 中沒有 ++ 或 – 自運算符
-
強制類型轉換
int(3.1415) float(3)
python中類型轉換僅限於數字,比如數字加上字符串則報錯。
res=3+'2.5' #error res=3+float('2.5')