使python更紧凑,是否会使它更高效?

2024-10-01 05:03:14 发布

您现在位置: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
    )

Tags: 代码nameformatseconds可读性minutesmilisec
3条回答

是的,您的第二段代码,正如您所说的更紧凑,将稍微更有效地分配给与某些机器指令相对应的变量

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

查看一次批次运行的一些差异(以秒为单位)

enter image description here

创建变量在内存中占用了一点空间,所以如果不这样做,它会更快。然而,这是一个非常小的区别

就执行时间而言,紧凑代码比长代码快。 快速评估可以是:

enter image description here

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

相关问题 更多 >