我有一个程序使用twitterapi在两个文件中展开。有一个文件专门用于发送和阅读tweet,所以我在该文件中添加了“importtwitter”行。第二个文件有一个import语句来导入这个基于twitter的文件,并从该文件调用“read”和“post”函数。你知道吗
这是代码的要点:
文件1:
import file2
file2.post(some text)
文件2:
import twitter
api = twitter.Api(...)
def post(text):
api.PostUpdate()
它运行得很好,并且完全符合我的预期,但是我不确定这是否是运行它的最有效的方式,从性能角度来看。“import twitter”行是否会在每次调用文件2时运行,并用重复的导入填充内存和时间?如果是这样的话,我会做得更好吗:
文件1:
import twitter
import file2
api = twitter.Api(...)
file2.post(some text, api)
文件2:
def post(text, api):
api.PostUpdate(text)
api对象在文件间传递的位置。你知道吗
谢谢
Import缓存所有导入,因此对于多个导入,它们只会在第一次执行导入后访问缓存的版本。请参阅https://docs.python.org/3/reference/import.html以了解其工作原理的详细信息。你知道吗
一般来说,您应该围绕模块正确的概念创建导入结构,性能不应该是这个决定的一个重要因素,因为老实说,当您获得正确的导入结构时,不会有太大的性能差异。如果在文件中使用某个模块中的内容,则应显式导入该模块。与此相关的是,确保您使用的每个模块都可以直接导入而不会出错,这将有助于您更好地设计模块,并避免由于importlib中的缓存机制而更改导入顺序可能导致错误的一类细微错误。你知道吗
相关问题 更多 >
编程相关推荐