导入模块/软件包时发生了什么

时间:2019-11-23 13:25:35

标签: python

有人可以帮助我了解在Python中导入模块时幕后发生的事情吗?导入是否有任何内存或处理开销?还是更像是打开一扇门来扩展本地名称空间?我真的不需要细节,只是一个总体思路。

我也希望了解当导入完整的软件包,软件包文件夹中没有__init__.py时会发生什么(我认为只有Python 3 +)。

此外,当将该程序包导入到作为要导入的程序包一部分的模块中时,会有什么变化? Python是否根据导入包的位置自动__init__.py?如果它确实做了类似的事情,这是否意味着最好避免编写软件包__init__.py

我问这些问题的主要原因是要知道我应该做什么以及不应该做什么。仅仅导入一个软件包并使用我想要的任何内容似乎很方便,而不必担心我需要哪个特定的模块。但是我不知道做这样的事情会带来全部影响。

编辑:我只是想添加重要的细节,我的模块已经全部加载到内存中了。

0 个答案:

没有答案