python - 模块/包导入期间发生了什么
问题描述
当我在 Python 中导入模块时,谁能帮我理解幕后发生的事情?是否有与导入相关的内存或处理开销?还是更像是打开一扇门来扩展本地命名空间?我真的不需要具体的,只是一个大概的想法。
我也希望了解导入完整包时会发生什么,__init__.py
而包文件夹内没有(我认为只有 Python 3+)。
此外,当将该包导入到作为正在导入的包的一部分的模块中时,会发生什么变化?Python 是否__init__.py
根据导入包的位置自动执行?如果它确实做了这样聪明的事情,这是否意味着避免编写包实际上更好__init__.py
?
我问这些问题的主要原因是要知道就导入而言我应该做什么和不应该做什么。只导入一个包并使用我想要的任何东西似乎很方便,而不用担心我需要哪些特定模块。但我不知道做这样的事情的全部影响。
编辑:我只是想添加我的模块都已经加载到内存中的重要细节。
解决方案
推荐阅读
- c++ - 如何强制两个函数参数具有相同的模板类型?
- database - mongodb自动索引未来集合,大json大小,正确结构?
- apache-kafka - 控制台 Kafka 消费者没有从生产者那里收到任何价值?
- mysql - 安全地存储客户端数据库详细信息
- azure - Azure 存储静态网站错误 - 找不到资源或内容不存在
- neo4j - 密码中关系的重复模式
- ruby-on-rails - PG 数据库不存在关系“active_storage_attachments”
- javascript - 在 React 中删除行内块元素之间的空间
- dataframe - 如何在 Julia 中转换 DataFrame 时跳过缺失值
- reactjs - 如何区分样式组件是使用 React 组件还是使用另一个样式组件/本机标签创建的