零基础学python-10.2 多目标赋值与变量命名规则
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手册)
注意:命名规则会延伸到文件名的命名,如果文件名不符合变量命名规则,在导入的时候就会出现错误
就说到这里,谢谢大家
------------------------------------------------------------------
版权声明:本文为博主原创文章,未经博主允许不得转载。