使 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', ))

在一个 运行 批次上看到一些差异(以秒为单位)

就执行时间而言,紧凑代码 slighthltylong 代码快。 快速评估可能是这样的:

也就是说,代码的可读性很重要。它是 Python 代码的里程碑之一。调试、维护、团队合作(仅举几例)利用更好的代码可读性。