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
相关推荐
程序员爱钓鱼7 分钟前
Python编程实战 · 基础入门篇 | 数据类型简介:数字、字符串、布尔值
后端·python
Juchecar15 分钟前
如何理解“AI token 大宗商品化”?
人工智能
文火冰糖的硅基工坊16 分钟前
[人工智能-大模型-29]:大模型应用层技术栈 - 第二层:Prompt 编排层(Prompt Orchestration)
人工智能·大模型·prompt·copilot
大模型真好玩19 分钟前
LangGraph实战项目:从零手搓DeepResearch(三)——LangGraph多智能体搭建与部署
人工智能·langchain·mcp
飞哥数智坊22 分钟前
DeepSeek-OCR:用“看图”代替“读文”,一种更像人类的上下文压缩方式
人工智能·deepseek
Python图像识别35 分钟前
73_基于深度学习的水面漂浮垃圾检测系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
python·深度学习·yolo
L.fountain36 分钟前
强化学习2.2 MDP实践——Frozen lake
人工智能·强化学习
JJJJ_iii40 分钟前
【机器学习06】神经网络的实现、训练与向量化
人工智能·笔记·深度学习·神经网络·学习·机器学习·线性回归
倔强的石头10644 分钟前
AI协作天花板!CherryStudio让多模型协同像搭积木
人工智能·cpolar
IT_陈寒1 小时前
Vite 3.0 性能优化实战:5个技巧让你的构建速度提升200% 🚀
前端·人工智能·后端