Python中将类放在不同的文件中是否代价高昂?

时间:2012-05-05 09:50:54

标签: python performance python-2.7

我是一名Java程序员,我总是为Classes创建单独的文件,我正在尝试学习python,我想学习它。 在Cthon中将Classes放在不同的文件中是否代价高昂,这意味着一个文件只包含一个类。我在博客中读到它很昂贵,因为.运算符的解析在运行时发生在python中(它发生在Java的编译时)。

注意:我在其他帖子中看过我们可以将它们放在单独的文件中,但是他们不会提及它们是否以任何方式更昂贵

1 个答案:

答案 0 :(得分:8)

成本略高,但在某种程度上你可能不在乎。您可以通过以下方式否定这笔额外费用:

from module import Class

然后将该类分配给本地名称空间中的变量,这意味着它不必通过模块进行查找。

然而,实际上,这不太可能是重要的。查找类似这样的东西的成本很小,你应该专注于做什么使你的代码最具可读性。跨模块和包拆分类对于您的程序来说是合乎逻辑的,因为它使它们保持清晰。

例如,如果你在一个循环中反复使用某些东西,这是你的程序的瓶颈,你可以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()

请注意,这种优化不太可能是重要的,您应该只优化您需要证明的地方。