Python高级之模块化(Python系列22)

2023-12-15 11:32:12

前言:为什么要使用模块化,模块化有什么好处,什么时候使用模块化,我们一起来看看吧。

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文件,增加性能。

? ? ? ? 易于维护和可扩展性,增强复用性。

文章来源:https://blog.csdn.net/a12345dfsdf/article/details/134999806
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。