我常用的几个经典Python模块
Python常用的模块非常多,主要分为内置模块和第三方模块两大类,且不同模块应用场景不同又可以分为文本类、数据结构类、数学运算类、文件系统类、爬虫类、网络通讯类等多个类型。
大家常用的内置模块比如:math、re、datetime、urllib、os、random等,第三方模块比如pandas、numpy、requests、matplotlib等。
什么是Python模块?
模块是将复杂的、同一应用领域的功能代码进行封装,你只需要调用接口,输入相应参数,便可以轻松拿到结果,类似瑞士军刀、万能工具箱。

常用内置模块,约200多个
内置模块,顾名思义就是Python软件内嵌的模块,无需额外安装。
想要了解详细的内置模块,最好去Python官网看,挺详细的
https://docs.python.org/zh-cn/3/library/index.html
你也可以在代码行输入print(help(modules)),会显示全部的内置模块

这里举几个常用的内置模块,并附上代码:
「math 模块」
用来进行数学计算,它提供了很多数学方面的专业函数,适合科研、算法
import math# 计算平方根
sqrt_value = math.sqrt(25)
print("Square Root:", sqrt_value)# 计算正弦值
sin_value = math.sin(math.radians(30))
print("Sine Value:", sin_value)
「re 模块」
正则表达式在Python中的扩展实现,该模块能支持正则表达式几乎所有语法,对于文本处理来说必不可少
import re# 查找匹配的字符串
pattern = r"\d+"
text = "There are 123 apples and 456 oranges."
matches = re.findall(pattern, text)
print("Matches:", matches)
「datetime 模块」
用于处理日期和时间,这个模块非常实用!!!
import datetime# 获取当前日期和时间
current_datetime = datetime.datetime.now()
print("Current Date and Time:", current_datetime)# 格式化日期时间
formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
print("Formatted Date and Time:", formatted_datetime)
「urllib 模块」
用于进行网络请求,获取网页HTML,所谓的爬虫就是这个模块
import urllib.request# 发起HTTP GET请求
response = urllib.request.urlopen("https://www.example.com")
html = response.read()
print("HTML Content:", html[:100])
「os 模块」
提供了与操作系统交互的功能,比如文件和目录操作
import os# 获取当前工作目录
current_dir = os.getcwd()
print("Current Directory:", current_dir)# 列出目录中的文件和子目录
files_and_dirs = os.listdir(current_dir)
print("Files and Directories:", files_and_dirs)
「random 模块」
用于生成伪随机数
import random# 生成随机整数
random_integer = random.randint(1, 10)
print("Random Integer:", random_integer)# 从列表中随机选择元素
random_element = random.choice(["apple", "banana", "cherry"])
print("Random Element:", random_element)
「json 模块」
专门用来处理 JSON 格式数据
import json# 将字典转换为 JSON 格式的字符串
data = {"name": "Alice", "age": 25}
json_string = json.dumps(data)
print("JSON String:", json_string)# 将 JSON 格式的字符串转换为字典
parsed_data = json.loads(json_string)
print("Parsed Data:", parsed_data)
「collections 模块」
提供了一些除list、dict之外有用的数据容器,比如 defaultdict、Counter 等
from collections import defaultdict, Counter# 创建默认字典
word_counts = defaultdict(int)
words = ["apple", "banana", "apple", "cherry", "banana", "apple"]
for word in words:word_counts[word] += 1
print("Word Counts:", word_counts)# 统计元素出现的次数
element_counts = Counter(words)
print("Element Counts:", element_counts)
「csv 模块」
专门用于处理逗号分隔值(CSV)文件
import re# 查找匹配的字符串
pattern = r"\d+"
text = "There are 123 apples and 456 oranges."
matches = re.findall(pattern, text)
print("Matches:", matches)
「sys 模块」
提供了与Python解释器交互的功能,例如访问命令行参数
import sys# 获取命令行参数
arguments = sys.argv
print("Command-line Arguments:", arguments)
常用的第三方模块,十几万个
Python之所以这么受欢迎,很大一部分原因得益于强大的第三方工具生态,几乎各个领域都有对应的模块可以使用。
比如
-
数据科学领域:pandas、numpy、scipy、sympy
-
可视化领域:matplotlib、seaborn、plotly、bokeh、pyecharts
-
机器学习领域:scikit-learn、keras、Tensorflow
-
大数据领域:pyspark、pyflink
-
爬虫领域:requests、scrapy、bs4
-
金融量化领域:ta-lib、zipline、pyfolio
其他各领域都有相应的模块可以使用,这里就不一一列举
相关文章:
我常用的几个经典Python模块
Python常用的模块非常多,主要分为内置模块和第三方模块两大类,且不同模块应用场景不同又可以分为文本类、数据结构类、数学运算类、文件系统类、爬虫类、网络通讯类等多个类型。 大家常用的内置模块比如:math、re、datetime、urllib、os、ra…...
课堂练习4.4:页式虚存
4-7 课堂练习4.4:页式虚存 缺页异常在 Linux 内核处理中占有非常重要的位置,很多 Linux 特性,如写时复制,页框延迟分配,内存回收中的磁盘和内存交换,都需要借助缺页异常来进行。 本实训分析 Linux 0.11 的…...
javascript实现Stack(栈)数据结构
上一篇文章我们理解了List这种数据结构,知道了它的特点和一些使用场景,这篇文章我们就来看一下栈这种数据结构,这里的栈可不是客栈哦,哈哈 栈其实和List非常像,使用javascript实现都是基于数组来实现 尝试理解Stack …...
Layui深入
1、代码: <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>注册页面</title> <style> .container { max-width: 600px; margin: 0 auto; padding: 20px; …...
网络层--TCP/UDP协议
目录 一、TCP/UDP协议介绍 1、UDP(User Datagram Protocol)--用户数据报协议 1.1 UDP报文格式 1.2 UDP协议的特性 2、TCP(Transmission Control Protocol )--传输控制协议 2.1 TCP报文格式 2.2 TCP协议的特性 2.3 TCP三次握手 2.4 四次挥手 三、TCP和UDP的区别 四、t…...
前端发送请求之参数处理---multipart/form-data与application/x-www-form-urlencoded
Content-Type就是指 HTTP 发送信息至服务器时的内容编码类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据。 其实前后端发送请求的方式有 text/plain、application/json、application/x-www-form-urlencoded、 multipart/form-data等&…...
解决Ubuntu16.04没声音
第一步:安装 PulseAudio Volum Control Ubuntu没有声音(听不到声音)的解决方法 第二步:No cards available for configuration 【解决Ubuntu18.04没声音:No cards available for configuration】 完美解决…...
12.14每日一题(备战蓝桥杯归并排序)
12.14每日一题(备战蓝桥杯归并排序) 题目 归并排序 给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数&…...
面试__Java常见异常有哪些?
java.lang.IllegalAccessError:违法访问错误。当一个应用试图访问、修改某个类的域(Field)或 者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。 java.lang.InstantiationError:实例化错误。当…...
linux 网络子系统 摘要
当你输入一个网址并按下回车键的时候,首先,应用层协议对该请求包做了格式定义;紧接着传输层协议加上了双方的端口号,确认了双方通信的应用程序;然后网络协议加上了双方的IP地址,确认了双方的网络位置;最后链路层协议加上了双方的M…...
java发起http、https请求,并携带cookie、header,post参数放body并可选关闭ssl证书验证,高可用版
公司有个需求是发起https请求对接国家数据接口,需要带header、cookie,并关闭ssl证书验证,搜了很多文章,都说用HttpsURLConnection发起请求,但不知为啥在封装body参数的时候一直报400封装出错,也欢迎指出不足…...
windows系统nodeJs报错node-sass npm ERR! command failed
报错信息 npm WARN deprecated request2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated tar2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asa…...
从零构建属于自己的GPT系列5:模型部署1(文本生成函数解读、模型本地化部署、文本生成文本网页展示、代码逐行解读)
🚩🚩🚩Hugging Face 实战系列 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在PyCharm中进行 本篇文章配套的代码资源已经上传 从零构建属于自己的GPT系列1:数据预处理 从零构建属于自己的GPT系列2:模型训…...
电脑篇——360浏览器打开新标签页自定义,和关闭360导航(强迫症福音)
1.点击“”按钮打开新标签页时会自动打开“资讯聚合”页面,如下图。 如何让我们打开新标签页可以自定义呢(如我这般强迫症必须要新打开的页面干干净净)? 方法:点击号打开新标签页后,在新标签页界面上找到…...
常见的Linux基本指令
目录 什么是Linux? Xshell如何远程控制云服务器 Xshell远程连接云服务器 Linux基本指令 用户管理指令 pwd指令 touch指令 mkdir指令 ls指令 cd指令 rm指令 man命令 cp指令 mv指令 cat指令 head指令 编辑 tail指令 编辑echo指令 find命令 gr…...
ESXI 6.7升级update3
一、适用场景 1、企业已有专业服务器,通过虚拟化环境搭建了vm server; 2、备份整个vm server时,需要使用ovftool工具完成,直接导出ovf模板时报错; 3、升级EXSI6.7的build 8169922版本为update 3版本后,已保…...
bugku--source
dirsearch扫一下 题目提示源代码(source) 也就是源代码泄露,然后发现有.git 猜到是git泄露 拼接后发现有文件 但是点开啥也没有 kali里面下载下来 wegt -r 下载网站的所有内容 ls 查看目录 cd 进入到目录里面 gie reflog 引用日志使用…...
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
Maven项目的Jar包打包问题-没有主清单属性&&ClassNotFoundException 与 NoClassDefFoundError 文章目录 Maven项目的Jar包打包问题-没有主清单属性&&ClassNotFoundException 与 NoClassDefFoundError1、问题出现1.1、Jar包运行:没有主清单属性解决方…...
2023-12-14 二叉树的最大深度和二叉树的最小深度以及完全二叉树的节点个数
二叉树的最大深度和二叉树的最小深度以及完全二叉树的节点个数 104. 二叉树的最大深度 思想:可以使用迭代法或者递归!使用递归更好,帮助理解递归思路!明确递归三部曲–①确定参数以及返回参数 ②递归结束条件 ③单层逻辑是怎么样…...
利用闭包与高阶函数实现缓存函数的创建
缓存函数是一种用于存储和重复利用计算结果的机制。其基本思想是,当一个函数被调用并计算出结果时,将该结果存储在某种数据结构中 (通常是一个缓存对象)以备将来使用。当相同的输入参数再次传递给函数时,不再执行实际的计算,而是直…...
NotebookLM如何3分钟解析薛定谔方程?——物理学者私藏的7个Prompt工程技巧曝光
更多请点击: https://intelliparadigm.com 第一章:NotebookLM物理学研究辅助 NotebookLM 是 Google 推出的基于 LLM 的研究型笔记工具,专为学者与科研人员设计。在物理学研究中,它可高效整合 PDF 论文、实验日志、LaTeX 公式片段…...
跟着 MDN 学 HTML day_55:HTML 音频与视频嵌入实战指南
在现代网页设计中,多媒体内容已经成为提升用户体验的核心元素。无论是背景音乐、播客节目,还是产品演示视频,都离不开 HTML 中的音频和视频嵌入技术。HTML5 为我们提供了原生的 audio 和 video 元素,使得在网页中嵌入媒体内容变得…...
小学生如何学好GESP
一、按年龄段科学规划学习路径 1. 6–9岁(小学低年级):重在逻辑启蒙,不急于学代码 A、核心任务:培养计算思维、问题拆解、条件判断等能力。 B、推荐方式: (1)、…...
研扬EPIC-RPS9工控主板解析:4英寸板载13代酷睿,赋能边缘AI与机器视觉
1. 项目概述:当“小钢炮”遇上工业严苛环境在工业自动化、边缘计算和嵌入式视觉这些领域里,我们常常面临一个经典矛盾:既要强大的算力来处理海量数据、运行复杂算法,又要设备足够紧凑、坚固,能塞进各种空间受限、环境恶…...
基于MCP协议与RAG技术构建智能聊天应用:架构解析与实战指南
1. 项目概述:一个基于MCP协议的RAG聊天应用最近在开源社区里,一个名为gogabrielordonez/mcp-ragchat的项目引起了我的注意。乍一看标题,它融合了当下两个非常热门的技术概念:MCP和RAG。对于从事AI应用开发,特别是希望构…...
JSON格式强制输出失败,深度解析DeepSeek-R1/V3模型token级响应机制与schema约束绕过方案
更多请点击: https://intelliparadigm.com 第一章:JSON格式强制输出失败的现象与根本归因 典型失败现象 当后端服务(如 Go/Node.js/Python)尝试通过 HTTP 响应强制输出 JSON 数据时,常出现空响应、500 错误、或返回 …...
基于RAG与LLM的智能文献分析工具OpenResearcher:从部署到实战全解析
1. 项目概述:一个为研究者量身打造的AI驱动开源工具箱 如果你是一名科研工作者、学术写手,或者任何需要深度处理文献、进行系统性知识梳理的人,那么你大概率经历过这样的场景:面对海量的PDF文献,手动下载、整理、阅读、…...
英雄联盟Akari助手:免费开源的终极游戏效率工具完整指南
英雄联盟Akari助手:免费开源的终极游戏效率工具完整指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为英雄联盟中繁琐的配…...
Linux内存管理核心机制解析:从伙伴系统到Slab分配器
1. 项目概述:为什么内存管理是Linux的基石干了这么多年运维和开发,我越来越觉得,理解一个系统,就得从它的“内存”入手。这玩意儿就像人的大脑,程序要跑起来,数据要流动,都得在内存里过一遍。Li…...
盛立体育足球场人造草坪
盛立体育足球场人造草坪湖北盛立体育科技有限公司是一家规模较大的集研发设计、生产制造、销售和安装于一体的人造草坪厂家。公司拥有自己的生产研发工厂,目前主营:足球场人造草坪,幼儿园人造草坪,塑胶跑道、各类仿真草坪等系列产…...
