为了账号安全,请及时绑定邮箱和手机立即绑定

将变量设置为 var=var=value 可以吗?

将变量设置为 var=var=value 可以吗?

哆啦的时光机 2022-01-18 17:46:48
例子:x=y=z=True我想知道是否由于内存或smth而导致性能不佳,因为例如 bool 是不可变的。
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

对于单个名称,它具有与


x=True

y=x

z=x

但是(取决于编译器中的“优化”)可能更有效,因为它不(天真地)涉及重新加载存储到x.


使用复杂的名称,可能会出现更复杂的行为:


a[i]=i=j

这会更新a[i](使用 old i),然后设置i为相同的值。这是否比


a[i]=j

i=j

取决于算法的性质(它在概念上是否重要,因为它们以某种排列方式分配的索引?)以及是否i 只是j一个变量或实际上是一些不值得重复的复杂表达式。(当然可以写


new_i=j

a[i]=new_i

i=new_i

但请记住,额外的变量名称也会降低可读性——new_i稍后使用?)


查看完整回答
反对 回复 2022-01-18
  • 1 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号