学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’转换为有效日期。()