学Python的漫画漫步进阶 -- 第十一步.常用的内置模块
学Python的漫画漫步进阶 -- 第十一步.常用的内置模块
- 十一、常用的内置模块
- 11.1 数学计算模块——math
- 11.2 日期时间模块——datetime
- 11.2.1 datetime类
- 11.2.2 date类
- 11.2.3 time类
- 11.2.4 计算时间跨度类——timedelta
- 11.2.5 将日期时间与字符串相互转换
- 11.3 正则表达式模块——re
- 11.3.1 字符串匹配
- 11.3.2 字符串查找
- 11.3.4 字符串分割
- 11.4 点拨点拨——如何使用官方文档查找模块帮助信息
- 11.5 练一练
十一、常用的内置模块
在真正做项目时,我们会使用别人已经开发好的模块,这样就不必从零开发项目了,还可以加快开发速度。这些模块可能是Python官方提供的,也可能是第三方开发的。Python官方提供的模块,就叫作“内置模块”。
Python有很多内置的定义,包括但不限于以下几类:
- 内置函数:Python解释器中预先定义好的函数,也被称为内嵌函数。所有的内置函数都被定义在标准模块builtins中,不需要导入某个模块,可以直接使用。例如,print()就是常用的内置函数之一。
- 内置类:Python内置类是在Python中已经预先定义好的类,我们可以直接使用它们,而不需要自己编写它们。例如,list,dict,set等都是Python内置的类。
- 内置模块:Python内置模块是Python中已经预先定义好的模块,我们可以直接使用它们,而不需要自己编写它们。例如,math,random等都是Python内置的模块。
- 内置常量:Python内置常量是指在Python中已经预先定义好的常量。例如,None表示一个空值,True和False表示布尔类型的真和假等。
以上就是Python内置定义的一些类别,它们为开发者提供了方便的工具和接口,以帮助他们更有效地编写代码。

11.1 数学计算模块——math
在math模块中包含数学运算相关的函数等,例如指数、对数、平方根和三角函数等。

本节介绍math模块中的一些常用函数,如下表所示:

我们在Python Shell中运行代码,看看运行结果怎样:

11.2 日期时间模块——datetime
Python官方提供的日期和时间模块主要是datetime模块。在datetime模块中提供了右侧几个类。
datetime:包含时间和日期。
date:只包含日期。
time:只包含时间。
timedelta:计算时间跨度。
tzinfo:时区信息。
11.2.1 datetime类
datetime类表示日期和时间等信息,我们可以使用如下构造方法创建datetime对象:

对这些参数的说明如下表所示:

我们在Python Shell中运行代码,看看运行结果怎样:

datetime类的常用方法如下:
datetime.today():返回当前的本地日期和时间。
datetime.now(tz=None):返回指定时区的当前日期和时间,参数tz用于设置时区,如果参数tz为None或省略,则等同于today()。
datetime.fromtimestamp(timestamp,tz=None):返回与UNIX时间戳对应的本地日期和时间。UNIX时间戳是从1970年1月1日00:00:00
开始到现在为止的总秒数。我们在Python Shell中运行代码,看看运行结果怎样。


11.2.2 date类
date类表示日期信息,我们可以使用如下构造方法创建date对象:

这些参数的含义和取值范围与datetime类一样,这里不再赘述。
date类的常用方法如下。
date.today():返回当前的本地日期。
date.fromtimestamp(timestamp):返回与UNIX时间戳对应的本地日期。

我们在Python Shell中运行代码,看看运行结果怎样:

11.2.3 time类
time类表示一天中的时间信息,我们可以使用如下构造方法创建time对象:

这些参数的含义和取值范围与datetime类一样,这里不再赘述。
我们在Python Shell中运行代码,看看运行结果怎样:

11.2.4 计算时间跨度类——timedelta


其中的所有参数都可以为整数或浮点数,也可以为正数或负数,如右表所示。
我们在Python Shell中运行代码,看看运行结果怎样:


timedelta可以表示正数或负数时间的间隔,如下代码是等效的。


11.2.5 将日期时间与字符串相互转换
我们经常会遇到将日期时间与字符串相互转换的情况。
1 将日期时间对象转换为字符串时,称之为日期时间格式化。在Python中使用strftime()方法进行日期时间的格式化,在datetime、date和time三个类中都有一个实例方法strftime(format)。
2 将字符串转换为日期时间对象的过程,叫作日期时间解析。在Python中使用datetime.strptime(date_string,format)类方法进行日期时间解析。
在strftime()和strptime()方法中都有一个格式化参数format,用来控制日期时间的格式,常用的日期和时间格式控制符如下表所示

我们在Python Shell中运行代码,看看运行结果怎样:


11.3 正则表达式模块——re
正则表达式指预先定义好一个“字符串模板”,通过这个“字符串模板”可以匹配、查找和替换那些匹配“字符串模板”的字符串。

11.3.1 字符串匹配
字符串匹配指验证一个字符串是否符合指定的“字符串模板”,常用于用户输入验证。例如,用户在注册时要输入邮箱,所以需要验证邮箱是否有效,这就要用到字符串匹配验证。
我们使用match(p,text)函数进行字符串匹配,其中的参数p是正则表达式,即字符串模板,text是要验证的字符串。如果匹配成功,则返回一个Match对象(匹配对象),否则返回None。
我们在Python Shell中运行代码,看看运行结果怎样:


11.3.2 字符串查找
字符串查找指从一个字符串中查找匹配正则表达式的子字符串,常用于数据分析、网络爬虫等数据处理中。
看漫画学Python:有趣、有料、好玩、好用(全彩版)
常用的字符串查找函数如下。
search(p,text):在text字符串中查找匹配的内容,如果找到,则返回第1个匹配的Match对象,否则返回None。p是正则表达式。
findall(p,text):在text字符串中查找所有匹配的内容,如果找到,则返回所有匹配的字符串列表;如果一个都没有匹配,则返回None。
p是正则表达式。
我们在Python Shell中运行代码,看看运行结果怎样:

11.3.3 字符串替换
正则表达式的字符串替换函数是sub(),该函数替换匹配的子字符串,返回值是替换之后的字符串,其语法格式如下:

其中,参数pattern是正则表达式;参数repl是用于替换的新字符串;参数string是即将被替换的旧字符串;参数count是要替换的最大数量,默认值为零,表示不限制替换数量。我们在Python Shell中运行代码,看看运行结果怎样:

11.3.4 字符串分割
在Python中使用re模块中的split()函数进行字符串分割,该函数按照匹配的子字符串进行字符串分割,返回字符串列表对象,其语法格式如下:

其中,参数pattern是正则表达式;参数string是要分割的字符串;参数maxsplit是最大分割次数;maxsplit的默认值为零,表示分割次数没有限制。

我们在Python Shell中运行代码,看看运行结果怎样:

11.4 点拨点拨——如何使用官方文档查找模块帮助信息

1 参考7.6节打开官方文档。
2 打开官方模块索引页面。

3 查找模块。例如,如果我们想查找math模块,则需要在索引中找到字母m,进而找到math模块。


11.5 练一练
1 填空题
1)表达式math.floor(-1.6)输出的结果是______。
2)表达式math.ceil(-1.6)输出的结果是______。
2 判断对错:(请在括号内打√或×,√表示正确,×表示错误)。
1)在math模块中进行数学运算,例如指数、对数、平方根和三角函数等。math模块中的函数只对整数和浮点数据进行计算。()
2)正则表达式指预先定义好一个“字符串模板”,通过这个“字符串模板”可以匹配、查找和替换那些符合“模板”的字符串。()
3)四舍五入函数round(a)是在math模块中定义的。()
4)datetime模块的核心类是datetime、date和time,datetime对象可以表示日期和时间等信息,date对象可以表示日期等信息,time对象可以表示一天中的时间信息。()
5)使用datetime.strptime()方法可将字符串’2019-02-29 10:40:26’转换为有效日期。()
相关文章:
学Python的漫画漫步进阶 -- 第十一步.常用的内置模块
学Python的漫画漫步进阶 -- 第十一步.常用的内置模块 十一、常用的内置模块11.1 数学计算模块——math11.2 日期时间模块——datetime11.2.1 datetime类11.2.2 date类11.2.3 time类11.2.4 计算时间跨度类——timedelta11.2.5 将日期时间与字符串相互转换 11.3 正则表达式模块—…...
发现无尽的创意可能性——Photo Image Editor Pixelstyle for Mac
无论您是一名专业摄影师还是一个爱好者,您都需要一款强大而多功能的图像编辑软件来实现您的创意。Photo Image Editor Pixelstyle for Mac将成为您的创作利器,帮助您探索图像编辑的无限可能性。 Photo Image Editor Pixelstyle for Mac是一款专业级的图…...
Smart Community(1)之设计规范
通过前面大数据开发相关知识的学习,准备做一个项目进行练习---我给他起了一个响亮的名字:基于HadoopHA的智慧社区服务平台 设计规范: 做一个项目之前肯定要先规定一些开发过程中的设计规范 (一)数据埋点规范…...
爬虫工作者必备:使用爬虫IP轻松获得最强辅助
目录 一、爬虫IP的作用与优势 二、选择合适的爬虫IP服务商 三、使用爬虫IP的注意事项和技巧 代码示例 四、合法合规使用爬虫IP 总结 随着互联网的发展,数据已经成为企业竞争的核心资源。而获取这些数据的有效方式,就是通过爬虫技术。但是ÿ…...
工作比读研简单多了
工作比读研简单多了,因为至少有人能解答 工作遇到的问题相比读研时遇到的问题幸福太多,简单太多。因为读研时遇到的更多是未知的问题,是科学问题,是论文中也没有答案的问题,问不着答案,搜不着结果…...
【音视频】H264视频压缩格式
H264简介 H.264从1999年开始,到2003年形成草案,最后在2007年定稿有待核实。在ITU的标准里称为H.264, 在MPEG的标准里是MPEG-4的一个组成部分-MPEG-4 Part 10,又叫Advanced Video Codec,因此常常称为MPEG-4AVC或直接叫AVC。 压缩算…...
Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启
官方Github;官方下载地址。没有Git加速的话很难下载,分享一下发布日期为2023.01.29的当前最新稳定版v2.12.0网盘连接。 包含文件: WinSW-x64.exesample-minimal.xmlsample-allOptions.xml 链接:https://pan.baidu.com/s/1sN3hL5H…...
【C++面向对象侯捷】3.构造函数
文章目录 class 的声明inline(内联)函数access level(访问级别)构造函数构造函数可以有多个- 重载! class 的声明 inline(内联)函数 access level(访问级别) 构造函数 构…...
GE WESDAC D20ME 模拟输入电子模块
GE WESDAC D20ME 是一款模拟输入电子模块,通常用于工业自动化和控制系统中,用于采集模拟信号和传感器数据。以下是该模块的一些主要产品功能: 模拟输入通道:WESDAC D20ME 模块通常具有多个模拟输入通道,用于接收模拟信…...
GE WES5302-150 数字量控制模块
GE WES5302-150 是一款数字量控制模块,通常用于工业自动化和控制系统中,主要用于数字信号的输入和输出控制。以下是该模块的一些主要产品功能: 数字量输入:WES5302-150 模块通常具有多个数字输入通道,用于接收数字信号…...
Redis-渐进式遍历scan的使用
目录 1、为什么使用渐进式遍历? 2、scan的使用 3、渐进式遍历的缺点 4、补充知识点:redis中也区分database 1、为什么使用渐进式遍历? 前面的博客中,我们有提到使用keys *来获取所有的key,但这种办法,…...
数据结构——查找
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、查找的基本概念二、顺序查找&&折半查找顺序查找顺序表的查找折半查找折半查找算法例题总结前言 查找的基本概念 顺序查找 折半查找 一、查找的基本概念 1.基本概念 查找:指定某…...
设计模式六大原则
设计模式6大原则 1. 单一职责原则 单一职责原则定义:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。另外一种定义:就一个类而言,应该仅有一个引起它变化的原因自己理解: 也就一个类只能是一个物体的抽象&…...
Docker 安装
Docker 官网:Docker: Accelerated Container Application Development Docker Hub官网:https://hub.docker.com/ 前提说明 CentOS Docker 安装 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在CentOS 7 (64-bit)上&…...
国外发达国家码农是真混得好么?
来看看花旗工作十多年的码农怎么说吧! 美国最大的论坛 Reddit,之前有一个热帖: 一个程序员说自己喝醉了,软件工程师已经当了10年,心里有 好多话想说,“我可能会后悔今天说了这些话。”他洋洋洒洒写了 一大堆ÿ…...
构造函数不能做为虚函数
引用:windows程序员面试指南 构造函数不能做为虚函数 从存储空间角度 虚函数对应一个虚函数表,这大家都知道,可是这个虚函数表其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过虚函数表来调…...
持续集成实战 —— Jenkins自动化测试环境搭建
1.目的 在日常的项目测试过程中,搭建与维护测试环境是广大测试同学的一个基础技能,相信也很少会有公司完全不让测试去碰自己的测试环境。那么工作中大量的创建、部署、管理、维护等一系列的重复操作就成为了整个测试项目中一个巨大的工作量。 面对这样…...
ajax上传文件
背景 采用ajax传递表单内容和上传的文件 实现原理 使用FormData模拟表单数据,实现异步上传图片 代码 var formData new FormData(); formData.append("serviceId", param.serviceId); formData.append("keyId", param.keyId); formData.a…...
使用jib-maven-plugin插件构建镜像并推送至私服Harbor
jib-maven-plugin 插件配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apa…...
道路空间功率谱密度与时间功率谱密度(笔记)
0.随机路面 仿真时间200秒 车速15m/s 采样间隔0.25秒(4Hz) A级路面平均振幅:0.0044米 B级路面平均振幅:0.0087米 C级路面平均振幅:0.0173米 D级路面平均振幅:0.0346米 1.先上代码其中之一 clc clear clo…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
