python入门系列九(模块与标准库)

1.引言

模块与标准库,我们就一个主题:站在巨人的肩膀上!python本身提供了丰富的标准库,同时还有丰富的第三方模块,方便我们构建python生态应用。

我们在开发具体应用的时候,只需要搞清楚如何使用标准库,如何引入第三方模块,甚至我们自定义提供一些模块给别人用。下面详细来看。

2.模块与标准库

2.1.模块导入

导入模块,都比较熟悉了。关注两个关键字:import,from。像下面这样导入整个模块:

python 复制代码
import os

# 其它代码

导入模块中的某个方法:

python 复制代码
from os import chdir

# 其它代码

有的时候,我不喜欢模块的名称,或者名称太长了。像这样给模块取别名吧

python 复制代码
import numpy as np

# 其它代码

2.2.标准库

python自身提供丰富的标准库组件,比如:

  • 内置函数
  • 内置类型
  • 内置异常
  • 文本处理服务
  • 二进制数据服务
  • 数字和数学模块
  • 文件和目录访问
  • 数据持久化
  • 通用操作系统服务

等等。更多和详细的内容,我建议你看官方的文档:docs.python.org/zh-cn/3.11/...

2.3.第三方模块使用

python中第三方模块使用,我们需要关注:pip install 命令。遵循先安装到本地库,再使用原则。像这样:

python 复制代码
# 默认从官方库,安装第三方模块,安装最新版本
pip install nltk

# 指定版本
pip install nltk==3.8.1

# 更新升级版本,默认升级到最新版本
pip install --upgrade nltk

# 更新升级到指定版本
pip install --upgrade nltk==3.8.2

# 从其它镜像仓库,安装第三方库
pip install  nltk -i https://pypi.doubanio.com/simple
    
# 常用的第三方镜像仓库
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
豆瓣:http://pypi.douban.com/simple/
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/simple/
北京外国语大学:https://mirrors.bfsu.edu.cn/pypi/web/simple/

这么多第三方镜像源,该如何选择?

  • 速度优先:推荐阿里云或者清华大学,下载速度较快
  • 稳定性优先:推荐中科大或者豆瓣,长期维护适合生产环境

2.4.自定义模块

python中一个独立的.py文件可以视着一个模块。非常好理解。下面来看一个示例。

2.4.1.创建自定义模块

我创建了一个mymodule.py模块

python 复制代码
#定义一个函数,函数作用取绝对值
def my_abs(x):
    if x>=0:
        return x
    else:
        return -x

2.4.2.使用自定义模块

导入使用mymodule.py模块

python 复制代码
#导入模块
import mymodule

#查看模块中有哪些函数
print(dir(mymodule))

#调用模块中定义的函数
x = mymodule.my_abs(-1)
print(x)

2.5.统一依赖管理

实际项目中,我们会依赖大量第三方库,当项目部署,或者迁移的时候。如何实现项目所依赖库和版本的一键迁移?可以在项目目录下,来一个文件:requirements.txt。内容大概这样:

python 复制代码
langchain==0.3.0
langchain_core==0.3.0
langchain_community==0.3.0
langchain-experimental==0.3.0
langchain-text-splitters==0.3.0
langchain_openai==0.2.0
python-dotenv
pyjwt==2.8.0
httpx==0.27.2
httpx_sse==0.4.0
dashscope==1.20.14
zhipuai==2.1.5.20241204
faiss-cpu==1.9.0.post1
bs4==0.0.2
beautifulsoup4==4.12.3
tavily-python==0.5.0
langserve[all]
langchainhub==0.1.21
numexpr==2.10.2
PyMySQL==1.1.1
qdrant-client==1.13.0
Flask==3.1.0
PyPDF==5.1.0
Docx2txt==0.8
pandas==2.2.3

如何使用呢?这样:

shell 复制代码
pip install -r requirements.txt
相关推荐
饭饭大王6661 分钟前
CANN 生态深度整合:使用 `pipeline-runner` 构建高吞吐视频分析流水线
人工智能·音视频
初恋叫萱萱2 分钟前
CANN 生态中的异构调度中枢:深入 `runtime` 项目实现高效任务编排
人工智能
简佐义的博客3 分钟前
生信入门进阶指南:学习顶级实验室多组学整合方案,构建肾脏细胞空间分子图谱
人工智能·学习
白日做梦Q3 分钟前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
无名修道院3 分钟前
自学AI制作小游戏
人工智能·lora·ai大模型应用开发·小游戏制作
晚霞的不甘12 分钟前
CANN × ROS 2:为智能机器人打造实时 AI 推理底座
人工智能·神经网络·架构·机器人·开源
互联网Ai好者16 分钟前
MiyoAI数参首发体验——不止于监控,更是你的智能决策参谋
人工智能
island131416 分钟前
CANN HIXL 通信库深度解析:单边点对点数据传输、异步模型与异构设备间显存直接访问
人工智能·深度学习·神经网络
喵手17 分钟前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv
初恋叫萱萱21 分钟前
CANN 生态中的图优化引擎:深入 `ge` 项目实现模型自动调优
人工智能