前言
python中的各种import问题在一般使用过程中遇到的不多,最近补起基础知识,希望能够更加理解。Python中import的用法在学习过程中对我启发很大,这里做总结。
这次学习属于无的放矢,所以到了最后发现自己弄懂了很多东西,但不知道目的在哪,有利有弊吧。
模块与包
模块可以看作python文件,其中包含各种函数、类、变量…
包在广泛流传的版本中是含有__init__.py文件的文件夹,其中__init__.py将在包被导入时自动运行
但根据python文档含有__path__属性即是包,包是特殊的模块。
且包不限于文件系统,可以在zip文件中,网络上,或者不含实体,而模块也不一定是我们最熟悉的.py文件
相对导入与绝对导入
绝对导入很好理解,从sys.path中各个路径中按顺序查找包或模块
相对导入官方文档提供了例子和一点解释:导入当钱包上下级的包,使用’.'作为标记
但实验发现官方文档的例子无法实现,或者说无法将含有相对导入的文件作为主模块(脚本)时正常运行;