本文來自異想之旅公開發布的Python教程,原文地址:https://www.yuque.com/yxzl/python
計算機最古老的用途是數值計算,所以這固然也是所有編程語言最重要的部分。對於數值的運算符如下:
0.1 * 3
輸出 0.300...004
+加法運算1 + 1
輸出 2
-加法運算1 - 1
輸出 0
*乘法運算2 * 3
輸出 6
/除法運算3 / 2
輸出 1.5
無論結果是否為整數都返回 float 類型%取余運算10 % 3
輸出 1
**次冪運算2 ** 3
輸出 8
2 ** 0.5
輸出 1.414...
也可以用函數實現:pow(2, 3)
//整除運算10 // 3
輸出 1
返回 int 類型,捨棄小數而非四捨五入代碼實現如下:
a = 21
b = 10
c = 0
c = a + b
print ("1: c 的值為:", c)
c = a - b
print ("2: c 的值為:", c)
c = a * b
print ("3: c 的值為:", c)
c = a / b
print ("4: c 的值為:", c)
c = a % b
print ("5: c 的值為:", c)
a = 2
b = 3
c = a**b
print ("6: c 的值為:", c)
a = 10
b = 5
c = a//b
print ("7: c 的值為:", c)
輸出內容:
1: c 的值為: 31
2: c 的值為: 11
3: c 的值為: 210
4: c 的值為: 2.1
5: c 的值為: 1
6: c 的值為: 8
7: c 的值為: 2
計算機最古老的用途是數值計算,所以這固然也是所有編程語言最重要的部分。對於數值的運算符如下:
代碼實現如下:
a = 21
b = 10
c = 0
c = a + b
print ("1 - c 的值為:", c)
c += a
print ("2 - c 的值為:", c)
c *= a
print ("3 - c 的值為:", c)
c /= a
print ("4 - c 的值為:", c)
c = 2
c %= a
print ("5 - c 的值為:", c)
c **= a
print ("6 - c 的值為:", c)
c //= a
print ("7 - c 的值為:", c)
輸出內容:
1 - c 的值為: 31
2 - c 的值為: 52
3 - c 的值為: 1092
4 - c 的值為: 52.0
5 - c 的值為: 2
6 - c 的值為: 2097152
7 - c 的值為: 99864
除此之外,Python3.8 版本新增海象運算符 :=
,可在表達式內部為變量賦值。實例如下:
if n := 10 != 0:
print(n)
# 輸出:10
鑒於在實用領域位運算使用較少,加上與其它編程語言完全一樣的語法,這裡不再贅述位運算的運算符詳解,直接貼出 菜鳥教程《Python3:運算符》 的樣例代碼。如果你希望詳細了解這一內容,可以點擊超鏈接訪問官網。
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b # 12 = 0000 1100
print ('#1 c的值為:', c)
c = a | b # 61 = 0011 1101
print ('#2 c的值為:', c)
c = a ^ b # 49 = 0011 0001
print ('#3 c的值為:', c)
c = ~a # -61 = 1100 0011
print ('#4 c的值為:', c)
c = a << 2 # 240 = 1111 0000
print ('#5 c的值為:', c)
c = a >> 2 # 15 = 0000 1111
print ('#6 c的值為:', c)
輸出內容:
#1 c的值為: 12
#2 c的值為: 61
#3 c的值為: 49
#4 c的值為: -61
#5 c的值為: 240
#6 c的值為: 15
Python 的運算順序基本符合數學中的定義,同時也支持通過使用小括號來改變運算順序。但是 Python 只能使用小括號,如果有多級運算順序需要改變,只需要多嵌套幾層小括號就好,不要隨意使用中括號和大括號,它們通常有特殊含義。
下表中列出的是 Python 中所有運算符的優先級關系。部分內容我們贊數沒有說到,大家參考已經掌握的即可。