【Python语言基础】21、Python标准库
文章目录
- 1. 标准库
- 1.1 标准库构成及特点
- 1.2 常见分类和模块
- 1.3 标准库使用
1. 标准库
Python 标准库就像是 Python 自带的 “百宝箱”,里面装了各种各样已经写好的工具,你在编程的时候可以直接拿来用,不用自己再费劲去编写。
-
什么是标准库
Python标准库是Python安装包自带的一系列模块和包的集合。当安装好Python,这个“百宝箱”就已经安装完成,无需额外下载其它东西。这些工具涵盖不同的功能领域,比如文件操作、网络通信、数据处理等。 -
1.2 标准库作用
标准库可以提供现成的功能接口,为开发人员节省大量的时间和精力。
1.1 标准库构成及特点
构成
- Python标准库由众多模块和包组成,这些模块和包按照功能进行分类,方便开发者查找和使用。
特点
- 跨平台性:无论使用时Windows、Linux还是macOS系统,标准库都能正常工作,确保代码就有晾好的可移植性。
- 稳定性: 标准库是Python官方维护的,经过严格测试和优化,很少出现兼容性问题和BUG
- 文档丰富:Python官方文档对标准库的每个模块和函数都有详细的说明和示例,方便开发者学习和使用
1.2 常见分类和模块
- 文件和目录操作
- os 模块
提供了与操作系统进行交互的功能,可用于文件和目录的创建、删除、重命名等操作,还能获取系统环境变量
import os# 获取当前工作目录
current_dir = os.getcwd()
print("当前工作目录:", current_dir)# 创建新目录
new_dir = "test_dir"
if not os.path.exists(new_dir):os.mkdir(new_dir)print(f"已创建目录: {new_dir}")
- shutil 模块
主要用于高级的文件和目录操作,如复制、移动、删除整个目录树等。
import shutil# 复制文件
src_file = "source.txt"
dst_file = "destination.txt"
shutil.copyfile(src_file, dst_file)
print(f"已将 {src_file} 复制到 {dst_file}")
- 数据处理
- json 模块
用于处理 JSON 数据,能将 Python 对象(如字典、列表)转换为 JSON 字符串,也能将 JSON 字符串解析为 Python 对象。
import json# Python 对象转 JSON 字符串
data = {'name': 'John', 'age': 30}
json_str = json.dumps(data)
print("JSON 字符串:", json_str)# JSON 字符串转 Python 对象
parsed_data = json.loads(json_str)
print("解析后的 Python 对象:", parsed_data)# 结果:
JSON 字符串: {"name": "John", "age": 30}
解析后的 Python 对象: {'name': 'John', 'age': 30}***Repl Closed***
- csv 模块
专门用于读写 CSV(逗号分隔值)文件,可方便地处理表格数据。
import csv# 写入 CSV 文件
data = [['Name', 'Age'], ['John', 30], ['Jane', 25]]
with open('data.csv', 'w', newline='') as csvfile:writer = csv.writer(csvfile)writer.writerows(data)
print("已写入 CSV 文件")# 读取 CSV 文件
with open('data.csv', 'r') as csvfile:reader = csv.reader(csvfile)for row in reader:print(row)
- 网络通信
- socket 模块
是实现网络通信的基础模块,可用于创建 TCP 或 UDP 套接字,实现客户端和服务器之间的通信。
import socket# 创建 TCP 套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('localhost', 8888)
server_socket.bind(server_address)
server_socket.listen(1)print("等待客户端连接...")
connection, client_address = server_socket.accept()
try:print(f"连接来自: {client_address}")data = connection.recv(1024)print(f"收到数据: {data.decode('utf-8')}")
finally:connection.close()
- urllib 模块:
提供了访问网页和处理 URL 的功能,可用于下载网页内容、发送 HTTP 请求等。
import urllib.request# 下载网页内容
url = 'https://www.example.com'
with urllib.request.urlopen(url) as response:html = response.read().decode('utf-8')print("网页内容:", html[:100]) # 只打印前 100 个字符
- 日期和时间处理
- datetime 模块:
提供了处理日期和时间的类和函数,可用于日期和时间的计算、格式化等操作。
import datetime# 获取当前日期和时间
now = datetime.datetime.now()
print("当前日期和时间:", now)# 格式化日期和时间
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("格式化后的日期和时间:", formatted_date)# 结果:
当前日期和时间: 2025-04-15 10:52:53.379670
格式化后的日期和时间: 2025-04-15 10:52:53***Repl Closed***
- 数据计算
- math 模块:
提供了各种数学函数,如三角函数、对数函数、平方根函数等。
import math# 计算平方根
sqrt_result = math.sqrt(16)
print("平方根:", sqrt_result)# 计算正弦值
sin_result = math.sin(math.radians(30))
print("正弦值:", sin_result)# 结果
平方根: 4.0
正弦值: 0.49999999999999994***Repl Closed***
1.3 标准库使用
要使用标准库中的模块,只需在代码中使用 import 语句导入相应的模块。导入方式有以下几种:
- 直接导入整个模块:
使用 import 模块名 语句,导入后通过 模块名.函数名 或 模块名.类名 的方式使用模块中的功能。
import mathresult = math.cos(math.pi)
print(result)# 结果
-1.0***Repl Closed***
- 导入模块中的特定函数或类:
使用 from 模块名 import 函数名/类名 语句,导入后可直接使用函数或类,无需加模块名前缀。
from math import sin, piresult = sin(pi / 2)
print(result)# 结果:
1.0***Repl Closed***
- 导入模块中的所有功能:
使用 from 模块名 import * 语句,但这种方式不推荐,因为可能会导致命名冲突
from math import *result = tan(pi / 4)
print(result)# 结果:
1.0***Repl Closed***
Python 标准库是一个功能强大、内容丰富的资源,熟练掌握和使用标准库能让你的编程工作更加高效和便捷。
相关文章:
【Python语言基础】21、Python标准库
文章目录 1. 标准库1.1 标准库构成及特点1.2 常见分类和模块1.3 标准库使用 1. 标准库 Python 标准库就像是 Python 自带的 “百宝箱”,里面装了各种各样已经写好的工具,你在编程的时候可以直接拿来用,不用自己再费劲去编写。 什么是标准库 …...
数据库脱裤
假设你已经getshell 找到mysql账号密码。 网站要连接mysql,就需要把mysql的账号密码保存在一个php文件中,类似config.php、common.inc.php等,在shell中,读取这些文件,找到其中信息即可 下面是一些常见平台的配置文…...
信刻电子档案蓝光光盘刻录安全检测长期归档
信刻一直致力于为档案馆、各行业档案部门,提供跨网数据交换、电子档案数据磁光异质备份归档解决方案。所研制的电子档案光盘智能长期归档系统,满足国产环境下”刻、管、存、检、用”全生命周期管理应用需求,能够提供一份离线归档、一份近线存…...
vue3中,element-plus中el-input的v-model和value的用法示例
el-input的v-model,邦定响应式变量 <el-col :span"6"><el-form-item label"检验类别" prop"verifyType"><el-input v-model"applyAllInfo.applyBasicInfo.verifyTypeName" readonly /></el-form-item…...
文章记单词 | 第33篇(六级)
一,单词释义 poison [ˈpɔɪzn] n. 毒药;毒物;有害的思想(或心情等);vt. 毒死;毒害;下毒;在… 中放毒;污染;adj. 有毒的justification [ˌdʒʌ…...
深度学习算法:从基础到实践
简介 深度学习作为人工智能领域的一个重要分支,近年来在多个领域取得了显著的成就。本文将从基础概念出发,探讨深度学习算法的核心原理,并介绍一些实际应用案例。 深度学习算法的核心概念 深度学习算法基于人工神经网络,通过构…...
L2-052 吉利矩阵分
L2-052 吉利矩阵 - 团体程序设计天梯赛-练习集 所有元素为非负整数,且各行各列的元素和都等于 7 的 33 方阵称为“吉利矩阵”,因为这样的矩阵一共有 666 种。 本题就请你统计一下,把 7 换成任何一个 [2,9] 区间内的正整数 L,把矩…...
计算机网络中各种物理量的单位总结
在计算机网络中,数据速率的单位容易混淆,以下是清晰总结: 一、基本单位区分 比特(bit)与字节(Byte) 小写 b 表示 比特(bit),是数据传输的基本单位。 大写 B…...
Solidity私有函数和私有变量区别,私有变量可以被访问吗
web3面试题 私有函数和私有变量区别,私有变量可以被访问吗 ChatGPT said: 在 Web3 开发,尤其是使用 Solidity 编写智能合约时,关于私有函数和私有变量的区别是常见的面试题。下面是详细解析: ✅ 私有函数(Private Fu…...
解决JSON格式数据大小写问题,以及@JsonProperty 和@JSONField序列化的区别
1、JsonProperty注解方式 JsonProperty注解是annotation包下的一个注解,可以通过value属性定义注解修饰的属性名称,如果你用的是JsonProperty注解,那么你千万不要用JSONObject.toJSONString(实体)去转json,可能很多人在这里就蒙蔽…...
Python正则表达式有哪些常用匹配字符?
处理文本数据时,我们经常需要查找、提取或替换特定模式的字符串。这时候正则表达式就成了程序员最强大的武器之一。今天我们就来详细聊聊Python中那些最常用的正则表达式字符和它们的实际用法。 为什么要学正则表达式? 假设你遇到这些场景:…...
List、Set集合通过Stream流求和
目录 一、泛型为Integer、Long、Double、BigDecimal求和 二、泛型为实体类 对单个属性求和 对多个属性分别分组求和 并返回聚合后的对象 多字段乘积求和(基本数据类型) 多字段乘积求和(BigDecimal) 对对象中的多个字段求和…...
Linux:Makefile
编译器gcc 使用方式:gcc [ 选项 ] 要编译的⽂件 [ 选项 ] [ ⽬标⽂件 ] 编译分为以下几个步骤: 1.预处理(进⾏宏替换) 预处理功能主要包括宏定义,⽂件包含,条件编译,去注释等。 预处理指令是以#号开头的代码⾏。 实例: gcc –E hello.c –o hello…...
基于双闭环PID控制器的永磁同步电机控制系统匝间故障Simulink仿真
欢迎微♥关注“电击小子程高兴的MATLAB小屋”获取巨额优惠 1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2013Rb)软件。建议采用matlab2013 Rb及以上版本打开。(若需要其他版本可联系代为转换,高于该版本的matlab均可正…...
硬件电路设计之51单片机(2)
声明:绘制原理图和PCB的软件为嘉立创EDA。根据B站尚硅谷嵌入式之原理图&PCB设计教程学习所作个人用笔记。 目录 一、原理图详解 1、TypeC接口 (1)TypeC接口介绍 (2)TypeC原理图 2、5V转3.3V 3、单片机电源开…...
从零开始学习PX4源码20(遥控器模式切换如何执行)
目录 文章目录 目录摘要1.用到的消息和主题2.遥控器切换模式代码流程摘要 本节主要学习PX4的手动遥控器切换模式,具体是如何实现的,具体改变了哪些变量,和模式管理有什么联系。 1.用到的消息和主题 1.行为请求消息:ActionRequest.msg ///时间信息 uint64 timestamp # t…...
SpringAI+DeepSeek大模型应用开发——1 AI概述
AI领域常用词汇 LLM(LargeLanguage Model,大语言模型) 能理解和生成自然语言的巨型AI模型,通过海量文本训练。例子:GPT-4、Claude、DeepSeek、文心一言、通义干问。 G(Generative)生成式: 根据上…...
经济指标学习(一)
系列文章目录 文章目录 系列文章目录1、市净率**一、定义与计算****二、核心意义****三、应用场景****四、局限性****五、分类与衍生指标****总结** 2、市销率**一、定义与计算****二、核心意义****三、优缺点分析****四、适用场景****五、与其他指标的对比****六、实际应用案例…...
理解 results = model(source, stream=True) 的工作原理和优势
1. 核心概念解析 (1) streamTrue 的作用 生成器模式:当处理视频或图像序列时,streamTrue 会将结果包装成一个 生成器(Generator),逐帧生成 Results 对象,而不是一次性返回所有结果。内存优化:…...
国内互联网大厂推出的分布式数据库 的详细对比,涵盖架构、性能、适用场景、核心技术等维度
以下是 国内互联网大厂推出的分布式数据库 的详细对比,涵盖架构、性能、适用场景、核心技术等维度: 一、主流分布式数据库列表 大厂数据库名称类型适用场景发布时间腾讯云TDSQL分布式HTAP金融、电商、游戏、政企2010年阿里云OceanBase分布式HTAP银行核…...
解释`new`关键字的执行过程,并手动实现一个`myNew`函数。
在 JavaScript 中,new 关键字用于创建一个用户定义的对象实例。它的执行过程分为以下步骤: new 关键字的执行过程 创建空对象: 创建一个新的空对象,其 [[Prototype]](即 __proto__)指向构造函数的 prototy…...
Android 项目配置文件解释
Android 项目配置文件解释 目录 Android 项目配置文件解释1. `plugins` 块2. `android` 块3. `dependencies` 块为什么需要 JDK 和 Kotlin1. plugins 块 plugins {id com.android.applicationid org.jetbrains.kotlin.android }id com.android.application:应用 Android 应用…...
亚马逊热销变维权?5步搭建跨境产品的安全防火墙
“产品热卖,引来维权”——这已经悄然成为越来越多跨境卖家的“热销烦恼”。曾经拼品拼量,如今却要步步谨慎。商标侵权、专利投诉、图片盗用……这些问题一旦发生,轻则下架、账号被限,重则冻结资金甚至封店。 别让“热销”变“受…...
C语言——分支语句
在现实生活中,我们经常会遇到作出选择和判断的时候,在C语言中也同样要面临作出选择和判断的时候,所以今天,就让我们一起来了解一下,C语言是如何作出选择判断的。 目录 1.何为语句? 2.if语句 2.1 if语句的…...
绿盟二面面试题
5000篇网安资料库https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247486065&idx2&snb30ade8200e842743339d428f414475e&chksmc0e4732df793fa3bf39a6eab17cc0ed0fca5f0e4c979ce64bd112762def9ee7cf0112a7e76af&scene21#wechat_redirect 1. 原理深度&…...
deepseek生成流程图
目录 Mermaid流程图需求询问框架交互显示流程图markdown在线网站 可能会出现的问题语法报错 在职场中,借助AI生成图表是提升效率的重要技能,本篇我们讲解如何使用deepseek生成流程图 Mermaid流程图 需求 学习太差劲了,我想要一个比较好的学…...
界面控件DevExpress WPF v25.1新功能预览 - 文档处理类功能升级
DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…...
大塔集团乔迁开新局 企业赋能贯全程
2025年4月15 日,在佛山市佛山大道北175号,大塔集团乔迁开业盛大启幕,业界目光聚焦于此。 点睛仪式 揭牌仪式 彩绸飘扬、嘉宾云集,现场气氛热烈非凡,这一标志性时刻,宣告着大塔集团正式踏上全新发展征程。 …...
新闻业务--草稿箱
本人之前写的侧边栏渲染有点问题,超级管理员和其他的不兼容,所以修改了一下SideMenu: import React, { useState, useEffect } fromreact; import { Layout, Menu } from antd; import { useNavigate } fromreact-router-dom; import axios …...
Spark-SQL核心编程(二)(三)
Spark-SQL核心编程(二) DSL 语法 DataFrame 提供一个特定领域语言(domain-specific language, DSL)去管理结构化的数据。 可以在 Scala, Java, Python 和 R 中使用 DSL,使用 DSL 语法风格不必去创建临时视图了。 1.创建一个 DataFrame val d…...
