python中的模块以及package的小结

来源:互联网 发布:小熊相机软件 编辑:程序博客网 时间:2024/06/07 02:07

1.python中的module以及package

Python的程序由包(package)、模块(module)、类以及函数组成。包是由一系列模块组成的集合。模块是处理某一类问题的函数和类的集合。如下图所示:


python中的module和package是python模块编程的体现,以及实现命名空间的隔离。

(1)python中一个module就是一个*.py文件,模块名称就是文件的名称。

(2)python中的package在文件系统中表现出来的就是一个目录,这个目录中可以包含众多的module以及其他的子package。而且这个目录中一定要有一个__init__.py文件,这个文件的存在才意味着该目录是python中的一个package。

备注:__init__.py可以是空文件,也可以有一些初始化的代码。


2.import导入package或module的时候做了什么?

当执行import package_name.module_name时,会执行package_name目录下的__init__.py以及module_name文件。


3.import导入函数|类|module|package

import module_name     #module_name.foo()表示调用module_name中foo函数import package_name    #如果package_name中__init__.py文件中导入了具体模块module_name,那么可以用package_name.module_name来使用module_name中的功能,否则是不行的import package_name.module_name  #package_name.module_name.foo()  表示使用module_name中的foo函数from package_name import module_name  #module_name.foo()  表示使用module_name的foo函数from package_name.module_name import foo        #直接使用foo()就可以啦
备注:import module_name.foo  是非法的。

4.module和package中的一些特殊的变量

(1)module中的__main__变量

当使用import导入module时,该变量就是模块名或文件名(不带后缀哦);当直接执行module的.py文件时,__main__变量就是__main__

(2)package中的__init__变量

__init__变量是一个元组,我们可以给这个变量赋值,eg:__all__ = ['Module1', 'Module2', 'Package2']     当我们使用from package_name import *会执行__init__.py,这时就会导入__all__元组中定义的module或子package啦



0 0
原创粉丝点击