在学习 Python 时,您会经常看到术语**“模块Module”、“包Package”、“库Library”以及“框架Framework”**,只有搞懂了它们分别是什么,之间都有什么关系,才能够真正理解程序之美。
模块是一个变量、数组、函数和类的集合。另外,模块是一种以.py为后缀的文件,用于表示程序的一部分,模块的名称是该.py文件的名称。模块的名称**作为一个全局变量__name__**的取值可以被其他模块获取或导入。
模块的导入通过ipmort来实现,导入模块的方式如下:
import <moduleName>
from <moduleName> import <functionName>
一个包是几个模块的集合。包体现了模块的结构化管理思想,包由模块文件构成,将众多具有相关功能的模块文件结构化组合形成包。
当创建一个包时,首先把你想打包的模块放在一个目录中。 在该目录中,创建一个新的特殊文件,名为__init__.py。 这只是一个单一的Python文件,因为它的扩展名是.py。 然而,通过这样一个名为 init.py 的文件,该目录下的文件被视为一个单一的包。
# 目录结构
.
├── creatures
│ ├── __init__.py
│ ├── character.py
│ └── moster.py
└── magic
├── __init__.py
└── magic.py
从编程开发的角度看,两个开发者A和B由可能把各自开发且功能不同的模块文件取了相同的名字。如果第三个开发者通过名称导入模块,则无法确认是哪个模块被导入了。为此,开发者A和B可以构建一个包,将模块放到包文件夹下,通过“包.模块名”来指定模块。
导入示例:
import <packageName.moduleName>
一个库是几个包的集合。Python中的库没有具体的定义,着重强调其功能性,具有某些功能的模块和包都可以被称作库。库中也可以包含包、模块和函数。
python最强大的功能就是可以使用大量强大的库,包括以下:
# 举个例子
import numpy as np
data = [[1, 2, 3, 4], [5, 6, 7, 8]]
arr = np.array(data)
print(arr)
print(arr.ndim)
print(arr.shape)
框架是Python库的集合。
框架跟库类似,从功能上来说的,框架往往集成了多种库的功能,框架是用来辅助开发某个领域功能的一个包,一般包内还会含有多个子包。
如爬虫框架scrapy、web开发框架Django和flask、大数据框架pyspark等。
原文地址:
https://blog.csdn.net/qingfengxd1/article/details/118880204
https://blog.csdn.net/weixin_44801979/article/details/126225780?ops_request_misc=&request_id=&biz_id=102&utm_term=python%20%E6%A8%A1%E5%9D%97%20%E5%8C%85%20%E5%BA%93%20%E7%B1%BB&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-126225780.nonecase&spm=1018.2226.3001.4187