模块
为了编写可维护的代码,把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。
- 【好处】
提高了代码的可维护性复用性、避免函数名和变量名冲突
一个a.py的文件就是一个名字叫a的模块,一个b.py的文件就是一个名字叫b的模块。如果a、b模块冲突,可以通过包(package)来组织模块,避免冲突。
mypkg
├─ __init__.py
├─ a.py
└─ b.py
每一个包目录下必须有__init__.py的文件,如果没有,Python就把这个目录当成普通目录,而不是一个包。init.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是mypkg。
- 【注意】
1.模块名要遵循Python变量命名规范,不要使用中文、特殊字符;
2.模块名不要和系统模块名冲突,最好先查看系统是否已存在该模块。
(一)使用模块
1、import、from … import、from … import*、import…as…语句
使用 Python 模块,只需在执行 import 语句:
import module1[, module2[,... moduleN]
from … import 语句:from 语句让你从模块中导入一个指定的部分到当前命名空间中
from modname import name1[, name2[, ... nameN]]
from … import * 语句:把一个模块的所有内容全都导入到当前的命名空间
from modname import *
import…as…语句:模块名替换新的名字
import modname as newmodname
2、__name__属性
一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。
# @/usr/bin/env python3
# -*- coding:utf-8 -*-
# Filename:使用模块.py
if __name__=='__main__':
print('程序自身运行')
else:
print('我来自别的模块')
每个模块都有一个__name__属性,当其值是’main’时,表明该模块自身在运行,否则是被引入。