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.pswp.cn/web/83066.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/83066.shtml
英文地址,请注明出处:http://en.pswp.cn/web/83066.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二分查找-P2249 【深基13.例1】查找

文章目录 参考代码二分标准模板 题目来源-洛谷网 参考代码 #include<bits/stdc.h> using namespace std; const int N 1e65; int m,n,a[N],b; int find(int t) {int l1,rn;while(l<r){int mid(lr)/2;//防止溢出 mid l (r-l) /2 ;if(a[mid]>t) rmid;//中间值比…

手写muduo网络库(一):项目构建和时间戳、日志库

引言 本文作为手写 muduo 网络库系列开篇&#xff0c;聚焦项目基础框架搭建与核心基础工具模块设计。通过解析 CMake 工程结构设计、目录规划原则&#xff0c;结合时间戳与日志系统的架构&#xff0c;为后续网络库开发奠定工程化基础。文中附完整 CMake 配置示例及模块代码。 …

NLP学习路线图(三十二): 模型压缩与优化

一、 核心压缩与优化技术详解 1. 知识蒸馏:智慧的传承(Knowledge Distillation, KD) 核心思想:“师授徒业”。训练一个庞大、高性能但笨重的“教师模型”(Teacher Model),让其指导训练一个轻量级的“学生模型”(Student Model)。学生模型学习模仿教师模型的输出行为(…

vue前端字典映射

1.界面展示 2.图中状态字段接收的数据如下 3.代码转换&#xff0c;添加计算属性代码 再在绑定属性的地方做转换 computed: {statusMap() {return {"-1": "已退号",1: "挂号",2: "接诊",3: "已完诊",};},},<m-input:spa…

基于 llama-factory进行模型微调

# GLM4-9B-chat Lora 微调. 介绍如何基于 llama-factory 框架&#xff0c;对 glm-4-9b-chat 模型进行 Lora 微调。Lora 是一种高效微调方法&#xff0c;深入了解其原理可参见博客&#xff1a;[知乎|深入浅出 Lora](https://zhuanlan.zhihu.com/p/650197598)。 ## 环境配置 在完…

不到 2 个月,OpenAI 火速用 Rust 重写 AI 编程工具。尤雨溪也觉得 Rust 香!

一、OpenAI 用 Rust 重写 Codex CLI OpenAI 已用 Rust 语言重写了其 AI 命令行编程工具 Codex CLI&#xff0c;理由是此举能提升性能和安全性&#xff0c;同时避免对 Node.js 的依赖。他们认为 Node.js “可能让部分用户感到沮丧或成为使用障碍”。 Codex 是一款实验性编程代理…

Go 并发编程深度指南

Go 并发编程深度指南 Go 语言以其内置的并发原语而闻名&#xff0c;通过 goroutine 和 channel 提供了一种高效、安全的并发编程模型。本文将全面解析 Go 的并发机制及其实际应用。 核心概念&#xff1a;Goroutines 和 Channels 1. Goroutines (协程) Go 的轻量级线程实现&…

vue和uniapp聊天页面右侧滚动条自动到底部

1.vue右侧滚动条自动到底部 <div ref"newMessage1"></div> <!-- 定义<div ref"newMessage1"></div>与<div v-for”item in list“>循环同级定义-->定义方法 scrollToBottomCenter(){this.$nextTick(() > {this.$re…

iOS 项目怎么构建稳定性保障机制?一次系统性防错经验分享(含 KeyMob 工具应用)

崩溃、内存飙升、后台任务未释放、页面卡顿、日志丢失——稳定性问题&#xff0c;不一定会立刻崩&#xff0c;但一旦积累&#xff0c;就是“上线后救不回来的代价”。 稳定性保障不是某个工具的功能&#xff0c;而是一套贯穿开发、测试、上线全流程的“观测分析防范”机制。 …

JMeter函数整理

"_csvRead"函数 csvRead函数是从外部读取参数&#xff0c;csvRead函数可以从一个文件中读取多个参数。 下面具体讲一下如何使用csvread函数&#xff1a; 1.新建一个csv或者text文件&#xff0c;里面保存要读取的参数&#xff0c;每个参数间用逗号相隔。每行表示每一组…

深入理解 React Hooks

在当今的 React 开发中,Hooks 已经成为构建函数组件的核心工具。自 React 16.8 版本引入以来,Hooks 彻底改变了开发者编写 React 组件的方式,使得状态管理和副作用处理变得更加简洁和直观。本文将全面介绍 React 提供的各种 Hooks,从基础的 useState 和 useEffect,到高级的…

Doris-2:单虚拟机上非docker化安装Doris实验环境

Doris-2:单虚拟机上非docker化安装Doris实验环境 1.安装1.1.环境说明1.2.基础准备1.2.1.JDK1.2.2.操作系统配置(使用root或者有权账户)1.2.2.1.修改环境变量1.2.2.2.修改虚拟内存区域1.2.2.3.关闭swap1.2.2.4.关闭防火墙1.2.2.5.创建用户和组1.3.安装doris1.3.1.解压1.3.2.配置…

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…

Razor编程中@Helper的用法大全

文章目录 第一章&#xff1a;Helper基础概念1.1 Helper的定义与作用1.2 Helper的基本语法结构1.3 Helper与HtmlHelper的区别 第二章&#xff1a;基础Helper用法2.1 无参数Helper2.2 带简单参数的Helper2.3 带默认值的参数2.4 使用模型作为参数 第三章&#xff1a;高级Helper用法…

Python-正则表达式(re 模块)

目录 一、re 模块的使用过程二、正则表达式的字符匹配1. 匹配开头结尾2. 匹配单个字符3. 匹配多个字符4. 匹配分组5. Python 代码示例 三、re 模块的函数1. 函数一览表2. Python 代码示例1&#xff09;search 与 finditer2&#xff09;findall3&#xff09;sub4&#xff09;spl…

前端知识导图

前端知识导图 参考&#xff1a;字节标准 前端知识导图 通用基础 1、编程语言 HTML CSS JS TS 2、计算机基础 计算机网略 数据结构 算法&#xff1a;二分查找、十大排序、二叉树先中后和层次遍历、集合交并集、leetcode刷题经验 编译构建 webpack & vite 应用基础 开…

moon游戏服务器-demo运行

下载地址 https://github.com/sniper00/MoonDemo redis安装 Redis-x64-3.0.504.msi 服务器配置文件 D:\gitee\moon_server_demo\serverconf.lua 貌似不修改也可以的&#xff0c;redis不要设置密码 windows编译 安装VS2022 Community 下载premake5.exe放MoonDemo\server\moon 双…

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…

ajax学习手册

Ajax 通俗易懂学习手册 目录 Ajax 基础概念XMLHttpRequest 详解Fetch API (现代方式)处理不同数据格式错误处理和状态码Ajax 高级技巧实战项目案例最佳实践 Ajax 基础概念 什么是 Ajax&#xff1f; Ajax Asynchronous JavaScript And XML 通俗解释&#xff1a; Ajax 就像…

人工智能学习02-安装环境

人工智能学习概述—快手视频 人工智能学习02-安装—快手视频 Python安装 Python安装分为两种方法&#xff0c;一是从官网(https://www.python.org/)下载Python工具(比如python-2.7.msi)进行安装&#xff0c;并设置Path环境变量&#xff1b;二是下载工具Anaconda集成环境进行安…