1.1 解压序列赋值给多个变量

解封装的问题,比如一个元组,依次把每个元素赋值给不同的变量。示例代码如下:

>>> p = (4, 5)
>>> x, y = p
>>> x
4
>>> y
5

>>> data = [ 'ACME', 50, 91.1, (2012, 12, 21) ]
>>> name, shares, price, date = data

注意,如果变量个数和序列元素的个数不匹配,会产生一个异常(这与 Ruby 不同)。

实际上,这种解压赋值可以用在任何可迭代对象上面,而不仅仅是列表或者元组。 包括字符串,文件对象,迭代器和生成器。

>>> s = 'Hello'
>>> a, b, c, d, e = s

Last updated

Was this helpful?