赋值语句的特性:
1、赋值语句建立对象引用值
2、变量名在首次赋值时被创建
3、变量名在引用前必须先赋值(使用尚未进行赋值的变量是一种错误)
4、执行隐式赋值的一些操作(变量名和对象的引用值绑定)
赋值语句形式
序列赋值——支持右侧任何可迭代的对象
元组赋值语句,会建立临时的元组存储右侧变量原始值。
=================================================
range内置函数——产生连续整数列表
>>> range(3)
[0, 1, 2]
=================================================
边界情况
1、带'*'的名称可能只配单个的项,但总是会向其赋值一个列表
2、如果没有剩下的内容可以匹配带'*'的名称,就赋值它一个空的列表,不管该名称出现在哪里
>>> a, b, c, d, *e = req
>>> print(a, b, c, d, e)
1 2 3 4 []
>>> a, b, *e, c, d = req
>>> print(a, b, c, d, e)
1 2 3 4 []
3、多个带'*'的名称,或者值少了没有带'*'的名称,或带'*'的名称没有在列表中,都会引发错误
>>> a, *b, c, *d = req 【error】
>>> a, b = req 【error】
>>> *a = req 【error】
>>> *a, = req
>>> a
[1, 2, 3, 4]
=================================================
多目标赋值语句
>>> a = b = c = 'dog'
>>> a, b, c
('dog', 'dog','dog')
多目标赋值以及共享引用,a, b, c共享引用,有引用计数。
=================================================
增强赋值语句