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
相关推荐
九年义务漏网鲨鱼2 小时前
【大模型学习 | MINIGPT-4原理】
人工智能·深度学习·学习·语言模型·多模态
元宇宙时间2 小时前
Playfun即将开启大型Web3线上活动,打造沉浸式GameFi体验生态
人工智能·去中心化·区块链
开发者工具分享2 小时前
文本音频违规识别工具排行榜(12选)
人工智能·音视频
产品经理独孤虾3 小时前
人工智能大模型如何助力电商产品经理打造高效的商品工业属性画像
人工智能·机器学习·ai·大模型·产品经理·商品画像·商品工业属性
老任与码3 小时前
Spring AI Alibaba(1)——基本使用
java·人工智能·后端·springaialibaba
蹦蹦跳跳真可爱5893 小时前
Python----OpenCV(图像増强——高通滤波(索贝尔算子、沙尔算子、拉普拉斯算子),图像浮雕与特效处理)
人工智能·python·opencv·计算机视觉
nananaij3 小时前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
雷羿 LexChien3 小时前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt
两棵雪松4 小时前
如何通过向量化技术比较两段文本是否相似?
人工智能
heart000_14 小时前
128K 长文本处理实战:腾讯混元 + 云函数 SCF 构建 PDF 摘要生成器
人工智能·自然语言处理·pdf