多平台统一管理软件接口,如何实现多平台统一管理软件接口
266
2022-11-06
python系列教程137——多目标赋值
下面这种写法叫说多目标赋值语句:
>>> a = b = c = 'spam'>>> a,b,c('spam','spam','spam')
这种形式相当于下面三个赋值语句:
>>> c = 'spam'>>> b = c>>> a = b
但是要注意,在这里只有一个对象,由三个变量共享(全都指向内存内同一对象)。这种行为对于不可变类型而言并没问题。看下面的代码:
>>> a = b = 0>>> b = b + 1>>> a,b(0,1)
在上面的代码中,修改b只会对b发生修改,因为数字不支持在原处的修改。只要赋值的对象是不可变的,即使有一个以上的变量名使用该对象也无所谓。
不过,如果把变量初始值设为空的可变对象时(诸如列表或字典),我们就得小心一点了:
>>> a = b = []>>> b.append(42)>>> a,b([42],[42])
这一次,因为a和b引用相同的对象,通过对b进行操作,a也会看见所有的效果。为避免这个问题,要在单独的语句中初始化可变对象:
>>> a = []>>> b = []>>> b.append(42)>>> a,b([],[42])
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~