蓉华教育人工智能系列:Python中模块和包
作者:蓉华教育
2025-06-03
56次阅读
Python 中的模块和包是 Python程序的基础组成部分。
一、包和模块概念
在Python中,包(package)是一种组织Python模块的方法。包是一个目录,目录中包含一个特殊的文件__init__.py,该文件将目录标识为一个包。一个包可以包含多个模块和子包。
模块(module)是一个Python文件,包含可执行的代码。模块可以定义函数、类和变量,可以被其他模块调用和使用。常见导入包的方式:在Python中,使用import语句导入包或模块,然后使用包或模块中定义的函数、类和变量。
1.导入包
注意:如果是 Python 自带的库不需要安装,如果是第三方库,需要先安装再导入。再IDE中可以直接导入提示安转。
库本省就是模块和包的集合,所以它的导入方式跟模块和包差不多。项目中通过 `pip` 安装的库与 Python 自带的库分布如下:
.venv/Lib/site-packages:通过pip安装的库在这里
D:\pythonsoftware\python3.7\Lib:Python自带的库,被引用到项目中了
2.使用内置库
在 Python 中,内置库(标准库) 是随 Python 解释器默认安装的模块和包的集合,无需额外安装,直接import导入即可使用。
文件与操作系统交互:
os - 操作系统接口(路径管理、环境变量等) - os.listdir()、os.path.join()
sys - 系统参数和函数(命令行参数、退出程序等) - sys.argv、sys.exit()
shutil - 高级文件操作(复制、移动、删除目录等) - shutil.copy('src', 'dst')
数据处理与序列化:
json - JSON 数据编码/解码 - json.dumps({'key': 'value'})
csv-CSV 文件读写 - csv.reader(open('data.csv'))
pickle - Python 对象序列化/反序列化(二进制格式) - pickle.dump(obj, file)
数学与科学计算:
math - 基础数学运算(三角函数、对数等) - math.sqrt(16) → 4.0
random - 生成伪随机数 - random.randint(1, 10)
decimal - 高精度十进制浮点运算(财务计算) - Decimal('0.1') + Decimal('0.2')
日期与时间处理:
datetime:日期时间-datetime.now().strftime("%Y-%m-%d")
time - 时间访问和转换(系统时间、休眠等) - time.sleep(1)
calendar - 日历相关操作(生成月历、判断闰年等) - calendar.month(2023, 9)
二、_name_属性
当一个模块直接被运行时(而不是被导入到其他模块中),__name__属性的值会被自动设置为__main__。这样可以用来判断一个模块是被直接运行还是被导入到其他模块运行中。例如,假设有一个名为module.py的模块,其中包含以下代码:
如果直接运行module.py,则输出为:"这个模块被直接运行",因为__name__属性的值此时是__main__。如果将module.py导入到另一个模块中运行,则输出为:"这个模块被导入其它模块中",因为__name__属性的值此时是module。
三、Python常用模块
1.UUID模块
UUID:模块用于生成唯一的标识符。
2.数学模块
提供了一系列用于执行数值计算和数学运算的函数。
数学常数与数值运算
随机数模块random:用于生成随机数,用于生成随机整数、随机浮点数、随机选择等。
操作系统模块OS:提供了很多函数来进行文件和目录的管理、进程管理、环境变量的获取等操作。
文件路径模块os.path:模块提供了一些函数用于处理文件路径和文件名。
3. python系统模块
sys模块是Python的一个内置模块,它提供了对Python解释器的访问和控制。
时间模块time:time模块是Python标准库中的一个模块,它提供了一些与时间相关的功能。
哈希_加密模块:提供了的哈希算法可以将任意长度的数据转换为固定长度的数据。
对称加密模块:一种基于哈希函数和密钥的消息认证码。通过使用HMAC算法,可以确保消息的完整性和身份验证。
上一篇:蓉华教育人工智能系列:Python操作数据库
下一篇:Python新手必看!异常处理+文本操作