“导入…”是否有性能优势。。。从?

2024-05-20 23:43:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我将写(业余)代码,这是更多的CPU和内存密集型比我以前用的。我注意到在别人的代码里

import something
(...)
a = something.method()

结束

from something import method
(...)
a = method()

使用一种样式与另一种样式相比有性能优势吗?你知道吗

PEP-0008 discusses imports但读完这篇文章后,在我未经训练的眼睛看来,上面描述的两个案例更像是一个品味/风格的问题。我更喜欢键入a = something.method(),因为我会更好地理解我的代码。这就是说,如果这真的影响性能,我将切换。你知道吗

注意:问题不是关于个人喜好,而是两个导入的实际性能命中(或缺少)风格。那个方面进行了很好的讨论in another question。你知道吗


Tags: 内存代码fromimport风格样式cpu性能
1条回答
网友
1楼 · 发布于 2024-05-20 23:43:46

性能上的唯一区别在于,其中包括一个额外的属性查找:

a = something.method()

而其他引用method直接

a = method()

绑定名称时执行查找的from ... import ...语句会对此进行反击。这些动作之间的差异可以忽略不计。你知道吗

导入实际上只是将名称绑定到已加载的对象。如果模块还不可用,Python会第一次加载整个模块,但是绑定名称的方式对加载的内容没有影响。你知道吗

因此,这是一种风格选择。人们喜欢一眼就能确定物体的来源。导入模块而不是从模块中导入对象将为您提供此可视化引用。你知道吗

相关问题 更多 >