前言:为什么要使用模块化,模块化有什么好处,什么时候使用模块化,我们一起来看看吧。
1.导入模块的两种方式
# 第一种 import ...
import common.exercise01
# 调用
common.exercise01.func01()
# 也可以设置一个别名
import common.exercise01 as ex
ex.func01()
# 第二种 from ... import ...
# 导入一个模块中的某个方法
from exercise01 import func01
# 调用
func01()
# 导入一个模块中的所有方法
from exercise01 import *
# 调用
func01()
func02()
# 导入指定文件夹中一个模块的一个方法
from common.exercise01 import func01
# 调用
func03()
当面向对象编程的时候推荐使用from import进行导入
当面向过程编程的时候推荐使用import
值得一提的是,当一个文件导入一个模块,并在当前文件运行时,先需要执行第一行的导入,也就是说需要将导入模块从头到尾执行完才返回当前文件继续执行。
2.模块化变量
模块化变量:__name__
使用:
# exercise01文件夹,并在该文件夹中运行
print(__name__) # __main__
结论:在当前文件夹运行该文件,打印的模块变量为__main__
使用:
# exercise01.py 文件中
# 在此文件夹中运行
import exercise02
print(__name__) # __main__
# exercise02.py 文件中
# 被导入运行
print(__name__) # exercise02
结论:当一个模块被导入时 ,该模块的模块变量__name__为该模块的模块名
常用:
1.常用在主模块main中,if __name__ == "__main__": 用来防止主模块被调用时程序也会执行。
2.当在一个模块中测试该模块功能时可以使用 if __name__ == "__main__",不需要注释,也不需要删除。
3.模块的分类
1.内置模块 python解释器中存在,如print(), str(), int()等
2.标准库模块 下载python时自带的模块,需要导入如 random , time等
3.第三方模块 需要自己去下载然后导入使用的,如requests
4.自己编写的模块 自己写的,需要导入使用,如上面代码中的exercise02模块。
4.python程序完整结构
5.模块化的优势
增加代码的可读性,被导入的文件会生成pyc文件,增加性能。
易于维护和可扩展性,增强复用性。