1.多目标赋值
>>> a=b=c='abc'
>>> a,b,c
('abc', 'abc', 'abc')
>>>
2.多目标赋值与共享引用
对于不可变对象是没有问题,但是对于可变对象,这里就有问题的了
>>> a=1
>>> b=a
>>> b=a+1
>>> id(a)
505991632
>>> id(b)
505991648
>>>
上面的例子ab都是不可变的整形,所以当b改变的时候其实b指向的对象已经重新创建了
>>> a=b=[]
>>> b.append (1)
>>> a,b
([1], [1])
>>>
由于列表是可变的,ab共同指向同一个列表,所以当b改变的时候,a也改变
3.增强赋值
增强赋值就是使用+=,>=等操作符赋值,下面是两个例子
>>> x=1
>>> x+=1
>>> x
2
>>>
>>> aList=[1,2]
>>> aList=aList+[3]
>>> aList
[1, 2, 3]
>>> aList.append (4)
>>> aList
[1, 2, 3, 4]
>>> aList.extend ([5,6])
>>> aList
[1, 2, 3, 4, 5, 6]
>>> aList+=[7,8]
>>> aList
[1, 2, 3, 4, 5, 6, 7, 8]
>>>
4.增强赋值与共享引用
下面的例子是,增强赋值使用+=,这里增强赋值隐含着在原处修改的意思,大家需要注意
>>> aList=[1,2]
>>> bList=aList
>>> aList=aList+[3,4]
>>> aList,bList
([1, 2, 3, 4], [1, 2])
>>> aList=[1,2]
>>> bList=aList
>>> aList+=[3,4]
>>> aList,bList
([1, 2, 3, 4], [1, 2, 3, 4])
>>>
上面的例子可以看见,如果使用+表达式,只是某个对象修改,但是使用+=,两个List同时修改
5.变量命名规则
1)语法:下划线或者字符+任意数目的字母、数字或下划线
2)区分大小写,a与A是两个不同的变量
3)禁用保留字(具体查询python手册)
注意:命名规则会延伸到文件名的命名,如果文件名不符合变量命名规则,在导入的时候就会出现错误
就说到这里,谢谢大家
------------------------------------------------------------------