Python模块与包
Posted IamJet
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python模块与包相关的知识,希望对你有一定的参考价值。
1. 模块与包
1.1 模块的概念
随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。
1.2 模块的优势
提高代码的可维护性。
编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块。
避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突。
1.3 模块的分类
python标准库
第三方模块
应用程序自定义模块
1.4 模块导入的方法
import 语句 //推荐
from…import 语句 //推荐
From…import* 语句 //推荐
from modname import * //此种不推荐
1.5 包的概念
包是指包含__init__.py的模块文件的文件夹,一个包内可以有多个py模块文件,调用包就是执行包下的__init__.py文件(__init__.py可以是空文件,也可以有Python代码)。
1.6 包的优势
A包和B包的目录下的py文件名可以重复,举个例子,A和B包下都存在hello.py,那么引用A包的hello.py模块时候,需要import A.hello.py,引用B包同样就是B.hello.py。
1.7 模块的搜索路径
模块的查找顺序是:内存中已经加载的模块->内置模块->sys.path路径中包含的模块。
如果sys.path中因为没有路径而找不到相关模块,可以使用如下方法进行添加路径。
import sys,os M_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(M_DIR)
1.8 关于__name__的值
当程序本身被执行的时候__name__ == ‘__main__‘,否则__name__ == ‘filename本身‘。
2 常用模块
2.1 time模块
2.2 random模块
2.3 OS模块
2.4 sys模块
2.5
以上是关于Python模块与包的主要内容,如果未能解决你的问题,请参考以下文章