python - 在 Python 中将类放在不同的文件中是否很昂贵?

标签 python performance python-2.7

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

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

最佳答案

它会稍微贵一些,但不会达到您可能关心的程度。您可以通过执行以下操作来抵消此额外费用:

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()

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

关于python - 在 Python 中将类放在不同的文件中是否很昂贵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10460682/

相关文章:

python - 如何使 scipy.optimize.curve_fit 产生更好的正弦回归拟合?

python - 从 Django QuerySet 获取 SQL

python - 假设我们想要设计 django polls 应用程序,那么我们如何继续进行 BDD

python - 更改按钮文本消息框

iphone - 如何在cocos2d中快速绘制背景?

python - 使用 pandas 访问器减少运行时间

java - `if` 条件效率

python - 交互运行 pyprocessing 脚本时出现 TypeError : super(type, obj)

python - 如何替换 Python 列表中子序列的所有实例?

Python 模类型错误