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
相关推荐
GISer_Jing5 小时前
AI自动化工作流:智能驱动未来(升级研究生项目!!!)
人工智能·前端框架·自动化
草捏子5 小时前
Agent Skills:让 AI 一次学会、永远记住的能力扩展方案
人工智能
NocoBase5 小时前
【2.0 教程】第 1 章:认识 NocoBase ,5 分钟跑起来
数据库·人工智能·开源·github·无代码
后端小肥肠5 小时前
OpenClaw实战|从识图到公众号内容自动化,我跑通了完整链路
人工智能·aigc·agent
猿界零零七5 小时前
pip install mxnet 报错解决方案
python·pip·mxnet
Elastic 中国社区官方博客5 小时前
快速 vs. 准确:衡量量化向量搜索的召回率
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
qq_381338506 小时前
【技术日报】2026-03-18 AI 领域重磅速递
大数据·人工智能
NocoBase6 小时前
开源项目管理工具选型指南(2026年最新)
人工智能·开源·无代码
feasibility.6 小时前
AI 爬虫高手养成:Openclaw+Scrapling 手动部署 + 采集策略(以Walmart 电商平台为例)
人工智能·爬虫·科技·机器人·agi·openclaw·scrapling
程序员老猫6 小时前
前端菜鸡狂喜!DeepSeek+Gemini,嘴炮出完整博客方案
人工智能