Python3之包浅谈

日期:2020年2月19日
作者:Commas
注释:学习就是为了忘记,接上一章《Python3之模块浅谈》,现在讲一下Python包;
如果您想了解更多有关Python的知识,那么请点《我的Python浅谈系列目录》


就是一个特殊的目录,包的命名规则和变量名是一致的(小写字母下划线_,若想了解更多,可阅读我的另一篇博客《Python3之命名规范浅谈》)。在这个目录中,包含两种文件,如下:

  • 一个__init__.py文件;
  • 多个模块文件;

其中__init__.py文件是用来管理包中的模块,该文件指定了对外界提供的模块列表,语法如下:

# 从“当前目录”导入模块,即指定该包对外界提供的模块
from . import 模块名1
from . import 模块名2
from . import 模块名3

当然,也可以直接指定某个模块的工具(全局变量、类或函数),语法如下:

# 从“当前目录”的指定模块导出指定的工具
from .模块名1 import 全局变量1
from .模块名1 import 函数名1
from .模块名1 import 类名1
# 重命名工具名,避免冲突覆盖原来的类
from .模块名2 import 类名1 as21

可以自行参考json模块的源码,我们所说的json模块,实际上是json包,就是在__init__.py中指定了开放的工具(类)和模块,以及定义了我们常用的一些方法,部分源码如下:

__version__ = '2.0.9'
__all__ = [
    'dump', 'dumps', 'load', 'loads',
    'JSONDecoder', 'JSONDecodeError', 'JSONEncoder',
]

__author__ = 'Bob Ippolito '

from .decoder import JSONDecoder, JSONDecodeError
from .encoder import JSONEncoder
import codecs

版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/104379933

你可能感兴趣的:(Python3,python,包,包的命名规范,包中对方开发模块列表,__init__.py文件)