Python學習手冊之元組拆包、三元運算子和 else 語句深入
在上一篇文章中,我們介紹了 Python 之禪、 Python 程式設計規範和函式引數,現在我們介紹 Python 的元組拆包、三元運算子和對 Python 的 else 語句深入講解。檢視上一篇文章請點選:https://www.cnblogs.com/dustman/p/10052453.html
元組拆包
元組拆包允許你將可迭代中 (大多數是元祖) 的每個項分配給一個變數。
nums = (1,2,3)
a,b,c = nums
print(a)
print(b)
print(c)
執行結果:
>>>
1
2
3
>>>
這也可用於交換變數,方法是 a, b = b, a
以星號 (*) 作為字首的變數接受其他變數遺留的所有可迭代值。
a, b, *c, d = [1,2,3,4,5,6,7,8,9]
print(a)
print(b)
print(c)
print(d)
執行結果:
>>>
1
2
[3, 4, 5, 6, 7, 8]
9
>>>
三元運算子
條件表示式提供 if 語句的功能,同時代碼簡潔。儘量避免過度使用,因為它很容易降低可讀性,但是在分配變數時會經常用到。條件表示式被稱為三元運算子。
a = 1
b = 2
h = ""
h = a-b if a>b else a+b
print(h)
執行結果:
>>>
3
>>>
三元操作符檢查條件判斷並返回相應的值。如果條件為真,執行 a - b。如果 a 小於 b,則執行 a + b。
x = int(input("輸入第一個數:"))
y = int(input("輸入第二個數:"))
z = int(input("輸入第三個數:"))
#三目運算子的第一種寫法
print((x if (x>y) else y) if ((x if (x>y) else y)>z) else z)
#三目運算子的第二種寫法
a=(x if (x>y) else y)
print(a if (a>z) else z)
執行結果:
>>>
輸入第一個數:4
輸入第二個數:5
輸入第三個數:8
8
8
>>>
從這兩個列子可以看出用Python的三目運算子用簡短的程式碼完成需要完成的功能。
else 語句深入
else 語句通常與 if 語句一起使用,但它也可以和 for 或 while 迴圈一起使用。
對於 for 或 while 迴圈,如果迴圈正常結束 (當中斷語句不導致迴圈退出) 時,else 內的程式碼塊被呼叫。
for i in range(0, 10):
if i > 10:
break
else:
print("hello world 1")
for i in range(0, 10):
if i < 1:
break
else:
print("hello world 2")
執行結果:
>>>
hello world 1
>>>
第一個 for 迴圈執行正常,導致打印出 hello world 1。第二個程式碼由於呼叫了 break 那麼 else 語句沒有被呼叫。
else 語句同樣可以用在 try/except 語句裡。在這種情況下,只有在 try 語句沒有異常時,才執行 else 的程式碼。
try: a = 1/4 except Exception as e: print(e) else: print(a) try: a = 1/0 except Exception as e: print(e) else: print(a)
執行結果:
>>>
0.25
division by zero
>>>
“在人生的競技場,榮譽和獎賞眷顧那些品行高尚的人。” -- 亞里士多德