1. 運算子
| 運算子 |
名稱 |
說明 |
例子 |
| + |
加 |
兩個對象相加 |
3 + 5得到8。"a" + "b"得到"ab"。 |
| - |
減 |
得到負數或是一個數減去另一個數 |
-5.2得到一個負數。50 - 24得到26。 |
| * |
乘 |
兩個數相乘或是返回一個被重複若干次的字串 |
2 * 3得到6。"la" * 3得到"lalala"。 |
| ** |
冪 |
返回x的y次冪 |
3 ** 4得到81(即3 * 3 * 3 * 3)。 |
| / |
除 |
x除以y |
4 / 3得到1(整數的除法得到整數結果)。4.0 / 3或4 / 3.0得到1.3333333333333333 |
| // |
取整餘 |
返回商的整數部分 |
4 // 3.0得到1.0 |
| % |
模數 |
返回除法的餘數 |
8 / 3得到2。-25.5%2.25得到1.5 |
| << |
左移 |
把一個數的位元向左移一定數目(每個數在記憶體中都表示為位元或位元字,即0或1) |
2 <<2 得到8。——2按位元表示10 |
| >> |
右移 |
把一個數的位元向右移一定數目 |
11 >> 1得到5。——11按位元表示為1011,向右移動1位元後得到101,即十進位的5。 |
| & |
按位與 |
數的按位與 |
5 & 3得到1 |
| | |
按位或 |
數的按位或 |
5 | 3得到7 |
| ^ |
按位異或 |
數的按位異或 |
5 ^ 3得到6 |
| ~ |
按位翻轉 |
x的按位翻轉是-(x+1) |
~5得到-6 |
| < |
小於 |
返回x是否小於y。所有比較子返回1表示真,返回0表示假。這分別與特殊的變數True和False等價。注意,這些變數名的大寫。 |
5 < 3返回0(即False)而3 < 5返回1(接True)。比較可以被任意串連:3 < 5 < 7返回True。 |
| > |
大於 |
返回x是否大於y |
5 > 3返回True。如果兩個運算元都是數字,它們首先被轉換為一個共同的類型。否則,它總是返回False。 |
| <= |
小於等於 |
返回x是否小於等於y |
x = 3; y = 6; x <= y返回True。 |
| >= |
大於等於 |
返回x是否大於等於y |
x = 4; y = 3; x >= y返回True。 |
| == |
等於 |
比較對象是否相等 |
x = 2; y = 2; x == y返回True。x = "str"; y = "stR"; x == y返回False。x = "str"; y = "str"; x == y返回True。 |
| != |
不等於 |
比較兩個對象是否不相等 |
x = 2; y = 3; x != y返回True。 |
| not |
布爾”非“ |
如果x為True,返回False。如果x是False,它返回True。 |
x = True; not x返回False。 |
| and |
布爾”與“ |
如果x為False,x and y返回False,否則它返回y的計算值。 |
x = False; y = True; x and y,由於x是False,返回False。在這裡Python不會計算y,因為它知道這個運算式的值肯定是False(因為x是False)。這個現象稱為短路計算。 |
| or |
布爾”或“ |
如果x是True,x or y返回True,否則它返回y的計算值。 |
x = True; y = False; x or y返回True。短路計算在這裡也適用。 |
2. 運算子優先順序
下表運算子是從最低到最高。Python會首先計算表中最下面的運算子,然後再計算表上部的。實際上強烈建議使用圓括弧來分組運算子和運算元,以便明確地指出運算的先後順序,達到易讀。
計算順序:預設地按照運算子優先順序決定,如果您要改變它們的順序,得使用圓括弧,如:(2 + 3) * 4
結合規律:運算子由左向右結合(同一層級的運算子),如:2 + 3 + 4被計算成(2 + 3) + 4
賦值運算子由右向左結合,如:a = b = c被處理為a = (b = c)
| 運算子 |
描述 |
| lambda |
Lambda運算式 |
| or |
布爾”或“ |
| and |
布爾”與“ |
| not x |
布爾”非“ |
| in,not in |
成員測試 |
| is,is not |
同一性測試 |
| <,<=,>,>=,!=,== |
比較 |
| | |
按位或 |
| ^ |
按位異或 |
| & |
按位與 |
| <<,>> |
移位 |
| +,- |
加法與減法 |
| *,/,% |
乘法、除法與取餘 |
| +x,-x |
加號或減號 |
| ~x |
按位翻轉 |
| ** |
指數 |
| x.attribute |
屬性參考 |
| x[index] |
下標 |
| x[index:index] |
定址段 |
| f(arguments...) |
函數調用 |
| (expression,...) |
綁定或元組顯示 |
| [expression,...] |
列表顯示 |
| {key:datum,...} |
字典顯示 |
| 'expression,...' |
字串轉換 |
3. 運算式
# 這是一段簡單的運算式範例程式碼# Filename: expression.pylength = 5breadth = 2area = length * breadthprint("Area is", area)print("Perimeter is", 2 * (length + breadth))
輸出結果如下:
Area is 10
Perimeter is 14