欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(二十一)Python学习之模块初识

程序员文章站 2022-07-07 21:33:38
...

(二十一)Python学习之模块初识

一、模块的概念
在Python中,一个.py文件就称之为一个模块(Module);使用模块最大的好处是提高了代码的可维护性。

二、模块的分类

(1)python标准库
(2)第三方模块
(3)应用程序自定义模块

三、模块的导入方法
1.import 语句::

import module1[, module2[,... moduleN]

当我们使用import语句的时候,Python解释器有自己的搜索路径,存在sys.path里。

['', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages']

注意:在当前目录下存在与要引入模块同名的文件,就会把要引入的模块屏蔽掉。

2.from…import 语句:

from modname import name1[, name2[, ... nameN]]

这个声明不会把整个modulename模块导入到当前的命名空间中,只会将它里面的name1或name2单个引入到执行这个声明的模块的全局符号表。

3.from…import* 语句

from modname import *

导入一个模块中的所有项目。

四、运行本质  
首先通过sys.path找到.py文件,然后执行该文件脚本(全部执行),然后将相应的变量名加载到命名空间。

五、包的引入
为了避免模块名冲突,Python引入了按目录来组织模块的方法,称为包(Package);引入了包以后,只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突。

六、包和普通目录的区别
每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不是一个包。init.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是对应包的名字;调用包就是执行包下的__init__.py文件

七、模块使用小技巧

if __name__=='__main__':
    print('ok')

用处:调试代码的时候,在”if name == ‘main’“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码能够正常运行。