模块化简介 | Python从入门到精通:高阶篇之三十七

简介: 本节我们介绍了模块化的优点,以及创建模块的两种方式。直接import 模块名或者import 模块名 as 模块别名。

多重继承 | Python从入门到精通:高阶篇之三十二

模块(module)

模块化,模块化指将一个完整的程序分解为一个一个小的模块,通过将模块组合,来搭建出一个完整的程序。

如果不采用模块化,统一将所有的代码编写到一个文件中。
采用模块化,将程序分别编写到多个文件中。化整为零的过程。

我们来思考一下使用模块化好,还是不使用模块化好?
模块化的优点:
① 方便开发,多人协作开发时,分工明确。
② 方便维护
③ 模块可以复用!在项目开发过程中,如果有相同功能的不同项目,可以通过现有模块直接用。只需要开发与之不同的模块。

模块的创建

在Python中一个py文件就是一个模块,要想创建模块,实际上就是创建一个python文件。
注意:模块名要符号标识符的规范。
现在来创建一个test_module模块。

print('我是一个模块')

执行结果:

image.png
image.png

我们如何去引用模块?

在一个模块中引入外部模块
① import 模块名 (模块名,就是python文件的名字,注意不要py)。
新建一个模块,直接引用。

import test_module 

执行结果:

image.png

我们对test_module模块进行修改:

print('我是test_module模块')

此时我们去重新执行这个新建的模块。
执行结果:

image.png

此时可以确定,这个模块被引用成功了。
是否可以多次引用?

import test_module 
import test_module 
import test_module 

执行结果:

image.png

此时引用了3次,执行结果只有一个。所以,可以引入同一个模块多次,但是模块的实例只会创建一个。
我们可以直接打印。

print(test_module)

执行结果:

image.png

② import 模块名 as 模块别名

import test_module as test

# print(test_module)
print(test)

执行结果:

image.png
image.png

注意:import可以在程序的任意位置调用,但是一般情况下,import语句都会统一写在程序的开头。
在每一个模块内部都有一个__name__属性,通过这个属性可以获取到模块的名字。
我们在test_module模块中添加

print(__name__)

然后在新建的模块中执行。

image.png

或者可以zhiji直接在新建的模块中打印

print(test.__name__)

执行结果:

image.png

是否可以获取本模块的name

print(__name__)

执行结果:

image.png

此时可以发现,获取的结果与我们的文件名不一致,我们需要知道__name__属性值为 __main__的模块是主模块,一个程序中只会有一个主模块,主模块就是我们直接通过 python 执行的模块。直接执行哪个,哪个就是主模块。

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

相关文章
|
4天前
|
机器学习/深度学习 数据采集 数据可视化
利用Python进行历史数据预测:从入门到实践的两个案例分析
利用Python进行历史数据预测:从入门到实践的两个案例分析
18 1
|
5天前
|
测试技术 Python
Python模块化方式编程实践
Python模块化编程提升代码质量,包括:定义专注单一任务的模块;使用`import`导入模块;封装函数和类,明确命名便于重用;避免全局变量降低耦合;使用文档字符串增强可读性;为每个模块写单元测试确保正确性;重用模块作为库;定期维护更新以适应Python新版本。遵循这些实践,可提高代码可读性、重用性和可维护性。
25 2
|
10天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
10天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 机器学习入门:基础概念与流程
【4月更文挑战第30天】本文介绍了Python在机器学习中的重要性,机器学习的基础概念和分类,包括监督学习、非监督学习和强化学习。Python因其丰富的库(如Scikit-learn、TensorFlow、PyTorch)、简单易学的语法和跨平台性在机器学习领域广泛应用。文章还概述了机器学习的基本流程,包括数据收集、预处理、特征工程、模型训练与评估等,并列举了常用的Python机器学习算法,如线性回归、逻辑回归、决策树和支持向量机。最后,讨论了Python机器学习在金融、医疗、工业和商业等领域的应用,鼓励读者深入学习并实践这一技术。
|
11天前
|
开发者 Python
使用Python构建Web应用的简介
【4月更文挑战第28天】
|
12天前
|
Python
【Python21天学习挑战赛】-入门必备
【Python21天学习挑战赛】-入门必备
|
16天前
|
存储 Python
python入门指南
python入门指南
21 0
|
16天前
|
机器学习/深度学习 自然语言处理 算法
利用Python进行情感分析:从入门到实践
【4月更文挑战第24天】 在数字化时代,文本数据无处不在。理解这些文本背后的情绪倾向对于品牌管理、市场研究乃至政治分析都至关重要。本文将引导读者通过Python编程语言实现基本的情感分析任务,涵盖从预处理步骤到模型训练和结果解释的全过程。我们将使用流行的自然语言处理库NLTK和机器学习框架scikit-learn来构建一个简单的情感分析模型,并探索如何将其应用于实际场景中。
|
17天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
17天前
|
存储 索引 Python
Python从入门到精通——1.3.1练习编写简单程序
Python从入门到精通——1.3.1练习编写简单程序