学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…...
JMeter接口测试之文件上传
最近用JMeter做接口测试,频繁遇到了文件上传的接口,与其他一般接口的处理方式不一样,想着分享下,希望能给测试同学一点启发。 文章将围绕三个部分进行展开: 一、用户场景 二、接口请求参数 三、JMeter脚本编写步骤…...
自动化测试需知的4项测试工具!
一般来说学自动化会建议大家先学selenium,因为最早的时候,自动化就代表selenium,进入测试行业就开始做接口测试,而且现在基本每个公司都需要接口测试。今天就和大家聊一下接口测试的工具。 一、Robot Framework 机器人框架。之所…...
【深度学习】clip-interrogator clip docker 容器启动过程
文章目录 dockerfile备忘ENTRYPOINT ["bash", "/app/startProject.sh"]常用docker指令web服务脚本访问接口文件 给一张图片,输出图片描述。 dockerfile备忘 只有从dockerfile制作的镜像才有分层结构,加速传输,故第一步…...
Linux设备驱动之gpio-keys
Linux设备驱动之gpio-keys 前两个章节介绍了Linux字符设备和platform设备的注册,他们都是比较基础的,让大家理解Linux内核的设备驱动是如何注册、使用的。但在工作中,个人认为完全手写一个字符设备驱动的机会比较少,更多的都是基…...
【vue3页面展示代码】展示代码codemirror插件
技术版本: vue 3.2.40、codemirror 6.0.1、less 4.1.3、vue-codemirror 6.1.1、 codemirror/lang-vue 0.1.2、codemirror/theme-one-dark 6.1.2 效果图: 1.安装插件 yarn add codemirror vue-codemirror codemirror/lang-vue codemirror/theme-one-dar…...
【面试必刷TOP101】链表相加 单链表的排序
目录 题目:链表相加(二)_牛客题霸_牛客网 (nowcoder.com) 题目的接口: 解题思路: 代码: 过啦!!! 题目:单链表的排序_牛客题霸_牛客网 (nowcoder.com) 题目的接口:…...
Visual Studio复制、拷贝C++项目与第三方库配置信息到新的项目中
本文介绍在Visual Studio软件中,复制一个已有的、配置过多种第三方库的C项目,将其拷贝为一个新的项目,同时使得新项目可以直接使用原有项目中配置好的各类**C**配置、第三方库等的方法。 在撰写C 代码时,如果需要用到他人撰写的第…...
rust迭代器
迭代器用来遍历容器。 迭代器就是把容器中的所有元素按照顺序一个接一个的传递给处理逻辑。 Rust中的迭代器 标准库中定义了Iterator特性 trait Iterator {type Item;fn next(&mut self) -> Option<Self::Item>; }实现了Iterator特性的结构体就是迭代器。 很多类…...
软件定制开发的优势与步骤|APP搭建|小程序
软件定制开发的优势与步骤|APP搭建|小程序 定制开发的优势: 1. 满足特定需求:定制开发可以根据客户的实际需求进行设计和开发,使得软件系统能够更好地满足客户的业务目标。 2. 优化用户体验:通过深入了解客户的需求,定…...
ERR_CONNECTION_REFUSED等非标准的HTTP错误状态码原因分析和解决办法
文章目录 一、DNS Resolution Failed1,DNS服务器故障2,DNS配置错误3,DNS劫持4,域名过期-5,其他网络问题 二、ERR_CONNECTION_REFUSED-"ERR_CONNECTION_REFUSED" 错误可能有多种原因 三、ERR_SSL_PROTOCOL_ER…...
常州做网站公司有哪些/哪里能买精准客户电话
胎压监测 (15分) 小轿车中有一个系统随时监测四个车轮的胎压,如果四轮胎压不是很平衡,则可能对行车造成严重的影响。 taiya.JPG 让我们把四个车轮 —— 左前轮、右前轮、右后轮、左后轮 —— 顺次编号为 1、2、3、4。本题就请你编写一个监测程序&#x…...
wordpress企业网站模板/北京百度推广公司
杨利民: 点击打开链接王静: 点击打开链接颜洁: 点击打开链接伍道军: 点击打开链接陈俊: 点击打开链接 向慧琳:点击打开链接 张埂铝:点击打开链接 蒋俊:点击打开链接 代思雨ÿ…...
iapp用网站做软件代码/什么是软文推广
欢迎观看Illustrator教程,小编带大家学习Illustrator2022的基本工具和使用技巧,了解如何在 Illustrator 中创建、编辑以及应用自定义渐变。 Illustrator 提供多种着色方式, 让您可以创造性地运用色彩,包括在图稿上应用渐变。渐变…...
广州最新传染疫情/seo收索引擎优化
大数据 标准库 应用库选择“正确的”数据库通常对于应用程序的成功至关重要。 与考虑供应商的建议或因为已经碰巧已经拥有数据库而使用数据库相比,考虑数据存储的基本目的和需求很有用。 在选择数据库时,这些是最重要的问题: 您希望在应用程…...
一 网站建设的目的和目标/软文范例大全1000字
转:http://www.myexception.cn/javascript/871757.html 什么是 JavaScript?你该如何执行它 什么是 JavaScript?你该如何执行它? JavaScript 是一种基于文本的程序设计语言,在被执行之前不需要进行任何转换。其它程…...
赣县企业网站建设/产品营销策划方案
Linux 性能测试与分析 Revision History Version Date Author Description 1.0 2011/5/26 dengwutaobao.com 初稿 1.1 2011/6/23 dengwutaobao.com 添加CPU分析 1.2 2012/2/20 dengwutaobao.com 添加MEM,IO分析 1.3 2012/2/23 dengwutaobao.com 更新工作原…...