例子: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稍后使用?)
添加回答
举报
0/150
提交
取消