【发布时间】:2018-12-05 08:41:39
【问题描述】:
假设我在一个非常紧密的循环中有以下内容:
a = func(x)
b = func2(a)
变量a 不在其他任何地方使用。
Python 会自动编译掉对a 的赋值,还是每次都花时间进行变量赋值?换句话说,这段代码是相同的,还是由于没有分配给a而稍微快一点?
b = func2(func(x))
Python2.7 与 Python3 的行为是否相同?
【问题讨论】:
-
不确定,但没有分配可能会快一点
-
这似乎是一个您可以自己尝试回答的问题(例如,使用timeit 模块)。
-
@larsks 我读到
timeit对于如此小的时间差异有些不可靠。下面所有使用它的答案都显示出纳秒级的差异,这并不令人信服,可能只是噪音。字节码答案是我一直在寻找的答案(我以前不知道dis)
标签: python variables variable-assignment assign