同时赋多个值
以下是一种很酷的编程捷径:在 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,
如此类推。
还可以使用多变量赋值创建返回多值的函数,只需返回一个包
含所有值的元组。调用者可将返回值视为一个简单的元组,或
将其赋值给不同的变量。