python同時給多個變數賦值

pythontab發表於2013-07-30
同時賦多個值
以下是一種很酷的程式設計捷徑:在 Python 中,可使用元組來一次
賦多值。
>>> v = ('a', 2, True)
>>> (x, y, z) = v       ①
>>> x
'a'
>>> y
2
>>> z
True
1.  v 是一個三元素的元組,而 (x, y, z) 是包含三個變數的元
組。將其中一個賦值給另一個將會把 v 中的每個值按順序賦值
給每一個變數。 該特性有多種用途。假設需要將某個名稱指定某個特定範圍的
值。可以使用內建的 range() 函式進行多變數賦值以快速地進
行連續變數賦值。
>>> (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,
SATURDAY, SUNDAY) = range(7)  ①
>>> MONDAY                                                                
0
>>> TUESDAY
1
>>> SUNDAY
6
1.  內建的 range() 函式構造了一個整數序列。(從技術上來
說, range() 函式返回的既不是列表也不是元組,而是一個 迭
代器,但稍後您將學到它們的區別。) MONDAY、 TUESDAY、
WEDNESDAY、 THURSDAY、 FRIDAY、 SATURDAY 和 SUNDAY 是您所定
義的變數。(本例來自於 calendar 模組,該短小而有趣的模組
列印日曆,有點像 UNIX 程式 cal 。該 calendar 模組為星期數
定義了整數常量。  
2.  現在,每個變數都有其值了: MONDAY 為 0, TUESDAY 為 1,
如此類推。
還可以使用多變數賦值建立返回多值的函式,只需返回一個包
含所有值的元組。呼叫者可將返回值視為一個簡單的元組,或
將其賦值給不同的變數。


相關文章