gpt4 book ai didi

python - 模块导入自身的目的

转载 作者:太空狗 更新时间:2023-10-30 00:19:54 27 4
gpt4 key购买 nike

我偶然发现了以下在文件开头导入自身的代码,我想知道这样做是否有正当理由?

#inside file a.py

import a as F; reload(F);
import a_util as auto; reload(auto);

def foo():
some_code

if __name__ == "__main__":
F.foo()

来自帖子 here , reload 语句很可能在那里能够轻松地重新加载整个包。但我想知道模块导入自身是否有任何优势。而在main函数中,foo()F.foo()到底有什么区别呢?

*a.py 中没有任何全局变量,因为大多数相关帖子似乎都这么建议。

最佳答案

我猜原作者很困惑,认为这是一件好事。

重新加载的一个副作用是文件被重新处理,所以如果文件中有任何立即可执行的语句,它们将再次被执行。我看不出这样做有什么特别的好处,但有人可能已经找到了一个边缘案例。

这里是重新加载行为的一个很好的引用: reload reference

关于python - 模块导入自身的目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57171285/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com