我是一名Java程序员,并且我一直为Class创建单独的文件,我尝试学习python,并且想正确地学习它。
在python中将类放在不同的文件中是否昂贵,这意味着一个文件仅包含一个类。我在博客中读到这很昂贵,因为.
运算符的解析发生在python的运行时(发生在Java的编译时)。
注意:我确实在其他帖子中读到过,我们可以将它们放在单独的文件中,但是他们没有提及它们是否以任何方式更昂贵
最佳答案
它稍微贵一点,但是在某种程度上您可能不会在意。您可以通过执行以下操作来抵消这笔额外费用:
from module import Class
然后,该类将被分配给本地 namespace 中的变量,这意味着它不必通过模块进行查找。
但是,实际上,这不太重要。查找类似这样的东西的成本将很小,您应该集中精力做使代码最易读的事情。按照程序的逻辑,将模块和包中的类拆分为逻辑,并保持它们的清晰性。
例如,如果您在循环中反复使用某些东西(这是程序的瓶颈),则可以assign it to a local variable for that loop,例如:
import module
...
some_important_thing = module.some_important_thing
#Bottleneck loop
for item in items:
#module.some_important_thing()
some_important_thing()
请注意,这种优化不太可能是重要的事情,并且只应在有证据证明需要这样做的地方进行优化。