我是一名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()

请注意,这种优化不太可能是重要的事情,并且只应在有证据证明需要这样做的地方进行优化。

10-06 13:42
查看更多