1. 程式人生 > >Python基礎(2)——運算符

Python基礎(2)——運算符

系列 所有 不為 相等 int inf 技術分享 包括 表格

一、Python算術運算符

以下假設變量a為10,變量b為21:

技術分享圖片

以下實例演示了Python所有算術運算符的操作:

 1 #!/usr/bin/python3
 2  
 3 a = 21
 4 b = 10
 5 c = 0
 6  
 7 c = a + b
 8 print("1 - c 的值為:", c)
 9  
10 c = a - b
11 print("2 - c 的值為:", c)
12  
13 c = a * b
14 print("3 - c 的值為:", c)
15  
16 c = a / b
17 print("4 - c 的值為:", c)
18  
19 c = a % b
20 print("5 - c 的值為:", c) 21 22 # 修改變量 a 、b 、c 23 a = 2 24 b = 3 25 c = a**b 26 print("6 - c 的值為:", c) 27 28 a = 10 29 b = 5 30 c = a//b 31 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

二、Python比較運算符

以下假設變量a為10,變量b為20:

技術分享圖片

以下實例演示了Python所有比較運算符的操作:

 1 #!/usr/bin/python3
 2  
 3 a = 21
 4 b = 10
 5 c = 0
 6  
 7 if a == b:
 8    print("1 - a 等於 b")
 9 else:
10    print("1 - a 不等於 b")
11  
12 if a != b:
13    print("2 - a 不等於 b")
14 else:
15    print("2 - a 等於 b")
16  
17 if a < b:
18    print("3 - a 小於 b")
19 else:
20    print
("3 - a 大於等於 b") 21 22 if a > b: 23 print("4 - a 大於 b") 24 else: 25 print("4 - a 小於等於 b") 26 27 # 修改變量 a 和 b 的值 28 a = 5; 29 b = 20; 30 if a <= b: 31 print("5 - a 小於等於 b") 32 else: 33 print("5 - a 大於 b") 34 35 if b >= a: 36 print("6 - b 大於等於 a") 37 else: 38 print("6 - b 小於 a")

以上實例輸出結果:

1 - a 不等於 b
2 - a 不等於 b
3 - a 大於等於 b
4 - a 大於 b
5 - a 小於等於 b
6 - b 大於等於 a

三、Python賦值運算符

以下假設變量a為10,變量b為20:

技術分享圖片

以下實例演示了Python所有賦值運算符的操作:

 1 #!/usr/bin/python3
 2  
 3 a = 21
 4 b = 10
 5 c = 0
 6  
 7 c = a + b
 8 print("1 - c 的值為:", c)
 9  
10 c += a
11 print("2 - c 的值為:", c)
12  
13 c *= a
14 print("3 - c 的值為:", c)
15  
16 c /= a 
17 print("4 - c 的值為:", c)
18  
19 c = 2
20 c %= a
21 print("5 - c 的值為:", c)
22  
23 c **= a
24 print("6 - c 的值為:", c)
25  
26 c //= a
27 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

四、Python位運算符

按位運算符是把數字看作二進制來進行計算的。Python中的按位運算法則如下:

下表中變量 a 為 60,b 為 13二進制格式如下:

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011

技術分享圖片

以下實例演示了Python所有位運算符的操作:

 1 #!/usr/bin/python3
 2  
 3 a = 60            # 60 = 0011 1100 
 4 b = 13            # 13 = 0000 1101 
 5 c = 0
 6  
 7 c = a & b;        # 12 = 0000 1100
 8 print("1 - c 的值為:", c)
 9  
10 c = a | b;        # 61 = 0011 1101 
11 print("2 - c 的值為:", c)
12  
13 c = a ^ b;        # 49 = 0011 0001
14 print("3 - c 的值為:", c)
15  
16 c = ~a;           # -61 = 1100 0011
17 print("4 - c 的值為:", c)
18  
19 c = a << 2;       # 240 = 1111 0000
20 print("5 - c 的值為:", c)
21  
22 c = a >> 2;       # 15 = 0000 1111
23 print("6 - c 的值為:", c)

以上實例輸出結果:

1 - c 的值為: 12
2 - c 的值為: 61
3 - c 的值為: 49
4 - c 的值為: -61
5 - c 的值為: 240
6 - c 的值為: 15

五、Python邏輯運算符

Python語言支持邏輯運算符,以下假設變量 a 為 10, b為 20:

技術分享圖片

以上實例輸出結果:

 1 #!/usr/bin/python3
 2  
 3 a = 10
 4 b = 20
 5  
 6 if a and b:
 7    print("1 - 變量 a 和 b 都為 true")
 8 else:
 9    print("1 - 變量 a 和 b 有一個不為 true")
10  
11 if a or b:
12    print("2 - 變量 a 和 b 都為 true,或其中一個變量為 true")
13 else:
14    print("2 - 變量 a 和 b 都不為 true")
15  
16 # 修改變量 a 的值
17 a = 0
18 if a and b:
19    print("3 - 變量 a 和 b 都為 true")
20 else:
21    print("3 - 變量 a 和 b 有一個不為 true")
22  
23 if a or b:
24    print("4 - 變量 a 和 b 都為 true,或其中一個變量為 true")
25 else:
26    print("4 - 變量 a 和 b 都不為 true")
27  
28 if not (a and b):
29    print("5 - 變量 a 和 b 都為 false,或其中一個變量為 false")
30 else:
31    print("5 - 變量 a 和 b 都為 true")

以上實例輸出結果:

1 - 變量 a 和 b 都為 true
2 - 變量 a 和 b 都為 true,或其中一個變量為 true
3 - 變量 a 和 b 有一個不為 true
4 - 變量 a 和 b 都為 true,或其中一個變量為 true
5 - 變量 a 和 b 都為 false,或其中一個變量為 false

六、Python成員運算符

除了以上的一些運算符之外,Python還支持成員運算符,測試實例中包含了一系列的成員,包括字符串,列表或元組。

技術分享圖片

以下實例演示了Python所有成員運算符的操作:

 1 #!/usr/bin/python3
 2  
 3 a = 10
 4 b = 20
 5 list = [1, 2, 3, 4, 5 ];
 6  
 7 if ( a in list ):
 8    print ("1 - 變量 a 在給定的列表中 list 中")
 9 else:
10    print ("1 - 變量 a 不在給定的列表中 list 中")
11  
12 if ( b not in list ):
13    print ("2 - 變量 b 不在給定的列表中 list 中")
14 else:
15    print ("2 - 變量 b 在給定的列表中 list 中")
16  
17 # 修改變量 a 的值
18 a = 2
19 if ( a in list ):
20    print ("3 - 變量 a 在給定的列表中 list 中")
21 else:
22    print ("3 - 變量 a 不在給定的列表中 list 中")

以上實例輸出結果:

1 - 變量 a 不在給定的列表中 list 中
2 - 變量 b 不在給定的列表中 list 中
3 - 變量 a 在給定的列表中 list 中

七、Python身份運算符

身份運算符用於比較兩個對象的存儲單元

技術分享圖片

註: id() 函數用於獲取對象內存地址。

以下實例演示了Python所有身份運算符的操作:

 1 #!/usr/bin/python3
 2  
 3 a = 20
 4 b = 20
 5  
 6 if ( a is b ):
 7    print ("1 - a 和 b 有相同的標識")
 8 else:
 9    print ("1 - a 和 b 沒有相同的標識")
10  
11 if ( id(a) == id(b) ):
12    print ("2 - a 和 b 有相同的標識")
13 else:
14    print ("2 - a 和 b 沒有相同的標識")
15  
16 # 修改變量 b 的值
17 b = 30
18 if ( a is b ):
19    print ("3 - a 和 b 有相同的標識")
20 else:
21    print ("3 - a 和 b 沒有相同的標識")
22  
23 if ( a is not b ):
24    print ("4 - a 和 b 沒有相同的標識")
25 else:
26    print ("4 - a 和 b 有相同的標識")

以上實例輸出結果:

1 - a 和 b 有相同的標識
2 - a 和 b 有相同的標識
3 - a 和 b 沒有相同的標識
4 - a 和 b 沒有相同的標識

is 與 == 區別:

is 用於判斷兩個變量引用對象是否為同一個, == 用於判斷引用變量的值是否相等。

>>>a = [1, 2, 3]
>>> b = a
>>> b is a 
True
>>> b == a
True
>>> b = a[:]
>>> b is a
False
>>> b == a
True

八、Python運算符優先級

以下表格列出了從最高到最低優先級的所有運算符:

技術分享圖片

以下實例演示了Python所有運算符優先級的操作:

 1 #!/usr/bin/python3
 2  
 3 a = 20
 4 b = 10
 5 c = 15
 6 d = 5
 7 e = 0
 8  
 9 e = (a + b) * c / d       #( 30 * 15 ) / 5
10 print ("(a + b) * c / d 運算結果為:",  e)
11  
12 e = ((a + b) * c) / d     # (30 * 15 ) / 5
13 print ("((a + b) * c) / d 運算結果為:",  e)
14  
15 e = (a + b) * (c / d);    # (30) * (15/5)
16 print ("(a + b) * (c / d) 運算結果為:",  e)
17  
18 e = a + (b * c) / d;      #  20 + (150/5)
19 print ("a + (b * c) / d 運算結果為:",  e)

以上實例輸出結果:

(a + b) * c / d 運算結果為: 90.0
((a + b) * c) / d 運算結果為: 90.0
(a + b) * (c / d) 運算結果為: 90.0
a + (b * c) / d 運算結果為: 50.0

Python基礎(2)——運算符