python 包
2021/12/2 17:38:49
本文主要是介绍python 包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
python 包
简介
官网解释包是一种通过使用"虚线模块名称"来构建Python的模块命名空间的方法。
看完这句话可能对包还没有太多的印象或理解,在使用pycharm中,我们也很容易发现,创建的选项很多,例如文件夹和python package,那么他们的区别就是,包下有__ init __.py 文件,所以当一个文件夹下有双下init.py文件 时,他就是包。
包的使用
如何使用包规范导入
结合模块来说,包就是多个模块功能的结合体。
需要注意的是,python3中如果包下没有 __ init __.py文件,import包不会报错,而在python2中,包下一定要有该文件,否则报错。
创建包的目的主要是为了规范导入
- 官网是这样规范软件包结构的
sound/ Top-level package __init__.py Initialize the sound package formats/ Subpackage for file format conversions __init__.py wavread.py wavwrite.py aiffread.py aiffwrite.py auread.py auwrite.py ... effects/ Subpackage for sound effects __init__.py echo.py surround.py reverse.py ... filters/ Subpackage for filters __init__.py equalizer.py vocoder.py karaoke.py ...
导入包
导入包还是使用import、from/import句式
首次导入模块会发生3件事:
被导入模块产生一个名称空间
执行被导入的py文件,然后把执行的数据都丢到名称空间中
执行文件中产生一个变量指向这个名称空间
首次导入包会发生3件事:
- 产生一个包的名称空间
- 执行被导入包下的 __ init __.py文件,然后把执行的数据都丢到包的名称空间中
- 执行文件中产生一个变量指向这个包的名称空间
包也可以被认为是“模块”,可直接导入
- 示例如下:
'''run.py''' import eg_package '''eg_package包''' '''__init__.py''' print('from __init__.py') # 结果 from __init__.py '''发现导入包执行了__init__.py下的输出语句'''
在python3中,导入包和导入文件夹的区别就是,导入包执行了包下的__ init __.py文件
这篇关于python 包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python