当前位置: 首页 > backend >正文

深入理解Python内置模块及第三方库的使用与管理

Python 内置模块与第三方库

在 Python 编程中,模块和库是帮助开发者高效实现各种功能的基础工具。Python 提供了丰富的内置模块以及第三方库,能够支持从基础的文件操作到复杂的数据分析和机器学习等任务。本篇文章将深入介绍 Python 的内置模块与第三方库,讲解如何使用import导入这些模块和库,如何使用 pip 管理第三方库;最后通过一个实例创建这些模块和库,让你更深入理解。

1. Python 内置模块

什么是内置模块?

内置模块是 Python 安装时自带的模块,不需要额外安装。它们提供了 Python 编程中常见功能的实现,例如文件操作、时间计算、数学计算、操作系统相关操作等。

常见内置模块

以下是一些常用的内置模块:

  • os:提供与操作系统进行交互的功能,像文件、目录的操作。
  • sys:访问与 Python 解释器相关的变量和功能,如命令行参数、系统路径等。
  • math:提供数学计算功能,如三角函数、对数、指数等。
  • datetime:处理日期和时间的模块。
  • random:用于生成随机数。
  • json:解析和生成 JSON 数据。
  • re:正则表达式模块,用于文本模式匹配。
  • collections:提供了其他常见的容器数据类型,如 deque, Counter, OrderedDict 等。

内置模块或库的导入

四种导入模块或库的方法,我们使用requests第三方库举例
第一种:import + 模块名或库名
import requestslink='https://www.xxxx.com'req=requests.get(url=link)
print(req)
  • requests.get(url=url) 表示调用requests库里面的get方法(可以理解为函数) 指定url参数=定义的link变量值
第二种:import + 模块名或库名 +as +变量名 自定义模块名或库名

import requests as request# 将requests的库名更改为requesturl='https://www.xxxx.com'
# 
req=request.get(url=url)
print(req)
  • import requests as requestrequests的库名使用as关键字更改为request
  • request.get(url=url)我们已经把requests的库名更改为request我们要使用更改后的库名
第三种:from + 模块名或库名 + import + 方法或函数 只能使用导入的方法或函数
from requests import get # 导入指定函数  从requests库只导入get函数url='https://www.xxxx.com'req=get(url=url)
print(req)
  • from requests import getrequests库导入get方法(或函数)
  • get(url=url)已经导入get方法了,不需要使用requests.get去调用了
第四种:from + 模块名或库名 + import + * 导入所有方法或函数
from requests import * url='https://www.xxxx.com'
# *表示已经全部导入了,我们可以直接使用函数,不需要使用.调用函数了
req=get(url=url)
req2=post(url=url)
print(req)
  • from requests import *requests库导入所有方法(或函数) *表示所有
  • get(url=url)已经导入get方法了,不需要使用requests.get去调用了
  • post(url=url)已经导入post方法了,不需要使用requests.get去调用了

小结

在 Python 中,使用 import 导入的东西通常被称为 模块,而 (Library)则是由多个模块组成的集合。简单来说,模块是一个 Python 文件,它可以包含变量、函数、类等;而库是由多个模块组成的,可以视为一个包含相关功能的模块集合。

区别:
  • 模块(Module) :一个单独的 Python 文件(以 .py 结尾),里面定义了变量、函数、类等。例如:math.pyos.py 等。
  • 库(Library) :由多个模块组成的集合,可以是多个 .py 文件和其他资源(例如文档、数据文件等)。例如,numpy 就是一个库,它包含了多个模块和功能。
举例:
  • 模块math 是一个模块,你可以通过 import math 来导入。
  • pandas 是一个库,它由多个模块组成,你可以导入 pandas 中的不同模块,如 import pandas as pd

所以,总结来说,import 导入的是模块,库是由多个模块组成的更大范围的集合。


如何找到这些模块或库的文件或者查看代码?

找文件,标准库一般在你的安装python目录下的Lib文件夹 例如:D:\python\Lib

第三方库在Lib文件夹下的site-packages 例如:D:\python\Lib\site-packages

可以使用vscode或者pycharm查看 当然根据已有的查看 下图是查看os文件(模块)的路径:
在这里插入图片描述


查看模块某个方法或函数的源码

编辑器内鼠标放在方法或函数上面,按住ctrl键,然后单击鼠标左键
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进入到方法或函数后可以查看这个方法需要传递的参数以及代码结构体等信息(可以理解为源代码)

在这里插入图片描述


2. Python 第三方库

什么是第三方库?

第三方库是由开发者社区创建并通过 Python 包管理工具 pip 发布的。这些库扩展了 Python 的功能,涵盖了各种领域,例如 Web 开发、数据分析、机器学习、人工智能、科学计算等。要使用第三方库,我们需要先通过 pip 安装它们。

常见第三方库

  • NumPy:用于科学计算,提供支持大规模数组和矩阵的运算。
  • Pandas:用于数据分析,提供强大的数据处理和分析功能。
  • Matplotlib:用于绘制图表和数据可视化。
  • Requests:简化 HTTP 请求的库。
  • Flask:轻量级 Web 框架,适用于小型 Web 应用。
  • Django:功能强大的 Web 框架,适用于大型网站。
  • TensorFlow:用于机器学习和深度学习的框架。
  • SQLAlchemy:Python SQL 工具包,提供 ORM 和 SQL 表达式语言。

使用 pip 管理第三方库

pip 是 Python 的包管理工具,用于安装、更新、卸载 Python 包。使用 pip 安装库非常简单

  • 一般在windows用户在命令提示符(cmd)使用以下命令

如果在任意位置打开命令提示符,需要pip安装到全局变量

  • pip一般在python安装的位置`` 例如:D:\python\Script

  • 到Script这个文件夹下面,找到pip3.exe或者pip.exe都可以,在当前路径打开cmd(终端)

  • 或者在当前路径输入cmd 然后回车 即可进入cmd终端
    在这里插入图片描述

安装第三方库

通过 pip install 命令安装第三方库;例如,安装 requests 库:

pip install requests

卸载第三方库

如果你不再需要某个库,可以通过 pip uninstall 命令卸载它;例如,卸载 requests 库:

PS:一般卸载pip会提示是否需要卸载,输入y表示确定,n表示不卸载的意思

pip uninstall requests

查看已安装的库

你可以使用 pip list 命令查看当前环境中已安装的所有库:

pip list

示例输出(显示已安装的所有库和版本号):

Package                       Version
----------------------------- ------------
absl-py                       1.4.0
adblockparser                 0.7
aerich                        0.7.2
aiofiles                      23.1.0
aiohttp                       3.8.4

第三方库的导入

第三方库的导入方式和内置模块一样,也是通过 import 语句进行导入。例如,导入 requests 库:

import requests# 发起一个 HTTP 请求
response = requests.get('https://jsonplaceholder.typicode.com/todos/1')
print(response.json())

3. 内置模块与第三方库的区别

特性内置模块第三方库
安装方式自带,不需要额外安装需要通过 pip 安装
示例os, sys, math, datetimerequests, numpy, flask
功能解决常见的操作系统任务、数学计算等扩展功能,如 Web 开发、数据分析等
性能通常经过优化,性能较好性能依赖于库的实现

说明

  1. 我们通过 requests.get() 发起 GET 请求,获取返回的 JSON 数据。
  2. 使用 response.json() 解析 JSON 数据并将其存储为 Python 字典格式。
  3. 使用 pandas.DataFrame() 将数据转换为表格格式,方便后续操作。
  4. 最后,调用 df.to_csv() 方法将数据保存为 CSV 文件。

4、如何查看这些模块或库的使用方法?

标准库(通过解释器自带的帮助文档)
  • 在安装的python路径下的Doc文件夹,例如:D:\python\Doc 使用默认开打方式即可
    在这里插入图片描述

-双击打开后,根据需要使用ctrl+f组合键搜索模块
使用os模块举例,找到后点击蓝色字体即可查看:
在这里插入图片描述


第三方库(通过pypi官方查看)
  • 浏览器输入网址 https://pypi.org/ 在搜索框输入第三库的名字,使用requests举例
    在这里插入图片描述

  • 根据库的名字找到项目,这里我们是要找requests,点击第一个即可:
    在这里插入图片描述

  • 点击后就可以看到requests库对应的文档
    在这里插入图片描述


5、如何自己做一个模块出来?

5.1创建一个python文件
  • 名字随意取,我使用xiaowu.py(作者小名)为例子,注意不要与标准库或者第三方库的名字一样
  • 在其他文件使用import导入的时候就显示我们创建的模块文件了

因为没有复制到标准库路径;只能在当前路径的py文件使用

在这里插入图片描述

定义模块的方法(做一个python同款打印)
  • 定义一个函数为printf的函数,接收一个参数的传递
  • 不要与内置函数的名字一样,例如print、len、type等函数

在这里插入图片描述

进行调用模块
  • 这时候编辑器就会提示我们这个模块对应的方法或函数
  • 根据定义的函数进行传参输出即可
    在这里插入图片描述
代码
  • xiaowu.py
def printf(str_data):return str_data
  • test.py
import xiaowutest=xiaowu.printf('hello world')
print(test) #输出hello world

总结

  • 内置模块:Python 自带的模块,不需要额外安装,提供了许多常见功能,如数学计算、文件操作、日期时间处理等。
  • 第三方库:由社区开发并通过 pip 安装的库,能够扩展 Python 的功能,涵盖 Web 开发、数据分析、机器学习等领域。
  • 模块导入:Python 提供了简单的导入语法,支持导入整个模块或特定的函数、类。
  • pip 管理工具:通过 pip,我们可以方便地安装、更新、卸载第三方库,并查看已安装的库。

通过本文的讲解,您已经掌握了如何使用 Python 内置模块与第三方库进行开发,并了解了如何通过 pip 管理第三方库。

http://www.xdnf.cn/news/12983.html

相关文章:

  • Global Security Markets International Compliance知识点总结
  • 用 DeepSeek 创作一首属于自己的歌
  • HBM 读的那些事
  • Spring通用类型转换的实现原理
  • LangChain4j 1.x 核心源码剖析-基础篇
  • CMake基础:gcc/g++编译选项详解
  • 【GO性能优化】第十五章:性能优化艺术——揭秘Go程序的性能调优技巧
  • Redis : Hash形式
  • 【threejs】每天一个小案例讲解:题外话篇
  • 算法训练第十一天
  • Python应用变量与数据类型
  • 直角坐标系和斜角坐标系
  • 《PyTorch深度学习入门》
  • 深入剖析JVM垃圾回收,高并发场景JVM性能调优,内存泄露分析,以及如何避免OOM
  • Git 常见操作
  • 【PCIe总线】-- inbound、outbound配置
  • 小游戏不能玩了?最好用flash扩展程序
  • Deep-Live-Cam电脑部署避坑大全:环境搭建、常见错误排查与终极修复方案
  • Transceiver线速率配置
  • Redis实战-消息队列篇
  • 利用coze工作流制作一个自动生成PPT的智能体
  • 针对异构数据的联邦学习
  • Linux:守护进程(进程组、会话和守护进程)
  • OC学习—命名规范
  • 八、数据库恢复技术
  • 【Bluedroid】蓝牙启动之btm_ble_init源码分析
  • 基于51单片机的花样流水灯
  • JS的传统写法 vs 简写形式
  • 打卡第39天:Dataset 和 Dataloader类
  • MySQL强化关键_020_SQL 优化