使 python 更紧凑是否会提高效率?
Does making python more compact, make it more efficient?
忽略代码可读性,是否值得删除冗余变量?
例如。转换此代码:
seconds = (milisec / 1000) % 60
minutes = milisec // (1000 * 60)
name = "{:>3}-{:0>5.2f}".format(minutes, seconds)
进入:
name = "{:>3}-{:0>5.2f}".format(
milisec // (1000 * 60), # minutes
(milisec / 1000) % 60, # seconds
)
创建变量在内存中占用的空间很小,所以如果不这样做会更快。然而,这是一个非常小的差异。
是的,你的第二段代码,正如你所说的更紧凑,会稍微更有效率,因为分配给变量对应于一些机器指令。
from timeit import timeit
def function():
milisec = 173000
seconds = (milisec / 1000) % 60
minutes = milisec // (1000 * 60)
name = "{:>3}-{:0>5.2f}".format(minutes, seconds)
print(timeit(stmt='function()', setup='from __main__ import function', ))
def function2():
milisec = 173000
name = "{:>3}-{:0>5.2f}".format(
milisec // (1000 * 60), # minutes
(milisec / 1000) % 60, # seconds
)
print(timeit(stmt='function2()', setup='from __main__ import function2', ))
在一个 运行 批次上看到一些差异(以秒为单位)
就执行时间而言,紧凑代码 slighthlty 比 long 代码快。
快速评估可能是这样的:
也就是说,代码的可读性很重要。它是 Python 代码的里程碑之一。调试、维护、团队合作(仅举几例)利用更好的代码可读性。
忽略代码可读性,是否值得删除冗余变量?
例如。转换此代码:
seconds = (milisec / 1000) % 60
minutes = milisec // (1000 * 60)
name = "{:>3}-{:0>5.2f}".format(minutes, seconds)
进入:
name = "{:>3}-{:0>5.2f}".format(
milisec // (1000 * 60), # minutes
(milisec / 1000) % 60, # seconds
)
创建变量在内存中占用的空间很小,所以如果不这样做会更快。然而,这是一个非常小的差异。
是的,你的第二段代码,正如你所说的更紧凑,会稍微更有效率,因为分配给变量对应于一些机器指令。
from timeit import timeit
def function():
milisec = 173000
seconds = (milisec / 1000) % 60
minutes = milisec // (1000 * 60)
name = "{:>3}-{:0>5.2f}".format(minutes, seconds)
print(timeit(stmt='function()', setup='from __main__ import function', ))
def function2():
milisec = 173000
name = "{:>3}-{:0>5.2f}".format(
milisec // (1000 * 60), # minutes
(milisec / 1000) % 60, # seconds
)
print(timeit(stmt='function2()', setup='from __main__ import function2', ))
在一个 运行 批次上看到一些差异(以秒为单位)
就执行时间而言,紧凑代码 slighthlty 比 long 代码快。 快速评估可能是这样的:
也就是说,代码的可读性很重要。它是 Python 代码的里程碑之一。调试、维护、团队合作(仅举几例)利用更好的代码可读性。