在真正做项目时,我们会使用别人已经开发好的模块,这样就不必 从零开发项目了,还可以加快开发速度。这些模块可能是Python官方提 供的,也可能是第三方开发的。Python官方提供的模块,就叫作“内置 模块”
1 数学计算模块——math
在math模块中包含数学运算相关的函数等,例如指数、对数、平方 根和三角函数等。
我们在Python Shell中运行代码,看看运行结果怎样:
2 日期时间模块——datetime
Python官方提供的日期和时间模块主要是datetime模块。在datetime 模块中提供了右侧几个类。 datetime:包含时间和日期。
date:只包含日期。
time:只包含时间。
timedelta:计算时间跨度。
tzinfo:时区信息。
2.1 datetime类
datetime类表示日期和时间等信息,我们可以使用如下构造方法创 建datetime对象:
datetime类的常用方法如下。
datetime.today():返回当前的本地日期和时间。
datetime.now(tz=None):返回指定时区的当前日期和时间,参数t z用于设置时区,如果参数tz为None或省略,则等同于today()。
datetime.fromtimestamp(timestamp,tz=None):返回与UNIX时间 戳对应的本地日期和时间。UNIX时间戳是从1970年1月1日00:00:00 开始到现在为止的总秒数。我们在Python Shell中运行代码,看看运行结 果怎样。
2.2 date类
date类表示日期信息,我们可以使用如下构造方法创建date对象:
这些参数的含义和取值范围与datetime类一样,这里不再赘述。
date类的常用方法如下。
date.today():返回当前的本地日期。
date.fromtimestamp(timestamp):返回与UNIX时间戳对应的本地 日期。
我们在Python Shell中运行代码,看看运行结果怎样:
2.3 time类
time类表示一天中的时间信息,我们可以使用如下构造方法创建tim e对象:
这些参数的含义和取值范围与datetime类一样,这里不再赘述。 我们在Python Shell中运行代码,看看运行结果怎样。
2.4 计算时间跨度类——timedelta
其中的所有参数都可以为整数或浮点数,也可以为正数或负数,如 右表所示。 我们在Python Shell中运行代码,看看运行结果怎样。
2.5 将日期时间与字符串相互转换
我们经常会遇到将日期时间与字符串相互转换的情况。
1 将日期时间对象转换为字符串时,称之为日期时间格式化。在P ython中使用strftime()方法进行日期时间的格式化,在datetime、date 和time三个类中都有一个实例方法strftime(format)。
2 将字符串转换为日期时间对象的过程,叫作日期时间解析。在P ython中使用datetime.strptime(date_string,format)类方法进行日期时 间解析。
在strftime()和strptime()方法中都有一个格式化参数format,用 来控制日期时间的格式,常用的日期和时间格式控制符如下表所示。
3 正则表达式模块——re
正则表达式指预先定义好一个“字符串模板”,通过这个“字符串模 板”可以匹配、查找和替换那些匹配“字符串模板”的字符串。
3.1 字符串匹配
字符串匹配指验证一个字符串是否符合指定的“字符串模板”,常用 于用户输入验证。例如,用户在注册时要输入邮箱,所以需要验证邮箱 是否有效,这就要用到字符串匹配验证。
我们使用match(p,text)函数进行字符串匹配,其中的参数p是正 则表达式,即字符串模板,text是要验证的字符串。如果匹配成功,则 返回一个Match对象(匹配对象),否则返回None。 我们在Python Shell中运行代码,看看运行结果怎样。
3.2 字符串查找
字符串查找指从一个字符串中查找匹配正则表达式的子字符串,常 用于数据分析、网络爬虫等数据处理中。
常用的字符串查找函数如下。
search(p,text):在text字符串中查找匹配的内容,如果找到,则 返回第1个匹配的Match对象,否则返回None。p是正则表达式。
findall(p,text):在text字符串中查找所有匹配的内容,如果找到 ,则返回所有匹配的字符串列表;如果一个都没有匹配,则返回None。 p是正则表达式。
我们在Python Shell中运行代码,看看运行结果怎样。
3.3 字符串替换
正则表达式的字符串替换函数是sub(),该函数替换匹配的子字 符串,返回值是替换之后的字符串,其语法格式如下:
其中,参数pattern是正则表达式;参数repl是用于替换的新字符串 ;参数string是即将被替换的旧字符串;参数count是要替换的最大数量 ,默认值为零,表示不限制替换数量。
我们在Python Shell中运行代码,看看运行结果怎样。
3.4 字符串分割
在Python中使用re模块中的split()函数进行字符串分割,该函数 按照匹配的子字符串进行字符串分割,返回字符串列表对象,其语法格 式如下:
其中,参数pattern是正则表达式;参数string是要分割的字符串;参 数maxsplit是最大分割次数;maxsplit的默认值为零,表示分割次数没有 限制。
我们在Python Shell中运行代码,看看运行结果怎样。
4 练一练
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:2 6'转换为有效日期。()