首页 > 解决方案 > 模块/包导入期间发生了什么

问题描述

当我在 Python 中导入模块时,谁能帮我理解幕后发生的事情?是否有与导入相关的内存或处理开销?还是更像是打开一扇门来扩展本地命名空间?我真的不需要具体的,只是一个大概的想法。

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

此外,当将该包导入到作为正在导入的包的一部分的模块中时,会发生什么变化?Python 是否__init__.py根据导入包的位置自动执行?如果它确实做了这样聪明的事情,这是否意味着避免编写包实际上更好__init__.py

我问这些问题的主要原因是要知道就导入而言我应该做什么和不应该做什么。只导入一个包并使用我想要的任何东西似乎很方便,而不用担心我需要哪些特定模块。但我不知道做这样的事情的全部影响。

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

标签: python

解决方案


推荐阅读