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
相关推荐
Ronin-Lotus5 小时前
深度学习篇---剪裁&缩放
图像处理·人工智能·缩放·剪裁
毛飞龙5 小时前
Python类(class)参数self的理解
python··self
魔尔助理顾问5 小时前
系统整理Python的循环语句和常用方法
开发语言·后端·python
cpsvps5 小时前
3D芯片香港集成:技术突破与产业机遇全景分析
人工智能·3d
国科安芯6 小时前
抗辐照芯片在低轨卫星星座CAN总线通讯及供电系统的应用探讨
运维·网络·人工智能·单片机·自动化
AKAMAI6 小时前
利用DataStream和TrafficPeak实现大数据可观察性
人工智能·云原生·云计算
Ai墨芯1116 小时前
深度学习水论文:特征提取
人工智能·深度学习
无名工程师6 小时前
神经网络知识讨论
人工智能·神经网络
nbsaas-boot6 小时前
AI时代,我们更需要自己的开发方式与平台
人工智能
SHIPKING3936 小时前
【机器学习&深度学习】LLamaFactory微调效果与vllm部署效果不一致如何解决
人工智能·深度学习·机器学习