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

学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有很多内置的定义,包括但不限于以下几类:

  1. 内置函数:Python解释器中预先定义好的函数,也被称为内嵌函数。所有的内置函数都被定义在标准模块builtins中,不需要导入某个模块,可以直接使用。例如,print()就是常用的内置函数之一。
  2. 内置类:Python内置类是在Python中已经预先定义好的类,我们可以直接使用它们,而不需要自己编写它们。例如,list,dict,set等都是Python内置的类。
  3. 内置模块:Python内置模块是Python中已经预先定义好的模块,我们可以直接使用它们,而不需要自己编写它们。例如,math,random等都是Python内置的模块。
  4. 内置常量: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的智慧社区服务平台 设计规范: 做一个项目之前肯定要先规定一些开发过程中的设计规范 (一)数据埋点规范&#xf…...

爬虫工作者必备:使用爬虫IP轻松获得最强辅助

目录 一、爬虫IP的作用与优势 二、选择合适的爬虫IP服务商 三、使用爬虫IP的注意事项和技巧 代码示例 四、合法合规使用爬虫IP 总结 随着互联网的发展,数据已经成为企业竞争的核心资源。而获取这些数据的有效方式,就是通过爬虫技术。但是&#xff…...

工作比读研简单多了

工作比读研简单多了,因为至少有人能解答 工作遇到的问题相比读研时遇到的问题幸福太多,简单太多。因为读研时遇到的更多是未知的问题,是科学问题,是论文中也没有答案的问题,问不着答案,搜不着结果&#xf…...

【音视频】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年,心里有 好多话想说,“我可能会后悔今天说了这些话。”他洋洋洒洒写了 一大堆&#xff…...

构造函数不能做为虚函数

引用: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秒&#xff08;4Hz&#xff09; A级路面平均振幅&#xff1a;0.0044米 B级路面平均振幅&#xff1a;0.0087米 C级路面平均振幅&#xff1a;0.0173米 D级路面平均振幅&#xff1a;0.0346米 1.先上代码其中之一 clc clear clo…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...