Python常用的内置模块
在做项目的过程中常常会使用外部已经开发好的模块,这样的重用可以加快项目的开发,外部开发好的模块有Python官方提供的,也有第三方开发的,我们把Python官方提供的模块,称为内置模块。
一、数学计算模块--math
在math模块中包含了与数学运算相关的函数,如指数,对数,平方根,三角函数……
常用的math模块中的函数
ceil(x) 返回大于或等x的最小整数
floor(x) 返回小于或等于x的最大整数
sqrt(x) 返回x 的平方根
pow(x,y) 返回x的y次幂
math.log(x[, base]) 返回以base为底的x对数,如果base省略则计算x自然对数
sin(x) 返回弧度x的三角正弦
degrees(x) 把弧度x转为角度
radians(x) 把角度x转为弧度
![](https://i-blog.csdnimg.cn/blog_migrate/ca26236bc6e4689761a1e75b8a35d909.png)
二、日期时间模块--datetime
Python有datetime模块中提供了如下几个类
datetime:包含时间和日期
date:只包含日期
time:只包含时间
timedelta:计算时间跨度
tzinfo:时区信息
datetime类
它表示了日期和时间等信息,可以使用如下构造方法来创建datetime对象
datetime.datetime(year,month,day,hour=0,minute=0,second=0,microsecond=0,tzinfo=None)
相应的参数说明
year:年不可以省略,它的取值范围:datetime.MINYEAR <=year<=datetime.MAXYEAR
month:月不可以省略,它的取值范围:1<=month<=12
day:日不可以省略,它的取值范围:1<=day<=给定年份和月份,这时该月的最大天数
hour:小时,可以省略,默认值为0,取值范围0<=hour<24
minute:分钟,可以省略,默认值0,取值范围0<=minute<60
second:秒,可以省略,默认值0,取值范围0<=second<60
microsecond:微妙,可以省略,默认值0,取值范围0<=microsecond<1000000
tzinfo:时区,可以省略,默认值是None
常用的方法:
datetime.today() 返回当前的本地日期和时间
datetime.now(tz=None) 返回指定时区的当前日期和时间,参数tz用来设置时区,如果tz为None或省略,则等同于today
datetime.fromtimestamp(timestamp,tz=None) 返回与UNIX时间戳对应的本地日期和时间。UNIX时间戳是从1970年1月1日00:00:00开始到现在为止的总秒数。
![](https://i-blog.csdnimg.cn/blog_migrate/bc5cf00380bf4fdd332d053120b49432.png)
date类
date类表示日期信息,可以使用下面的构造方式去创建date对象
datetime.date(year,month,day)
这里的三个参数与datetime中的前三个参数意思一样。
date类的常用方法如下:
date.today() 返回当前的本地日期
date.fromtimestamp(timestamp) 返回与UNIX时间戳对应的本地日期
![](https://i-blog.csdnimg.cn/blog_migrate/37421fea14ca83ca2fc3aaf9c3a086b4.png)
time类
time类表示时间信息,它的构造方式如下
datetime.time(hour=0,minute=0,second=0,microsecond=0,tzinfo=None)
它的一些参数与datetime中对应的参数是一样的
![](https://i-blog.csdnimg.cn/blog_migrate/c96368e6f386a76e548408ba93d04e65.png)
计算时间跨度类---timedelta
这个类用来计算datetime,date,time对象的时间间隔
datetime.timedelta(days = 0,seconds = 0,microseconds = 0,milliseconds = 0,minutes = 0,hours = 0,weeks = 0)
上面的参数都可以为整数或浮点数,也可以是正数或负数
days 天
seconds 秒
microseconds 微妙
milliseconds 毫秒
minutes 分钟
hours 小时
weeks 周
![](https://i-blog.csdnimg.cn/blog_migrate/53c8aefb298da4d0b2b835947d5e41be.png)
将日期时间与字符串之间的相互转换
1、把日期时间对象转换为字符串,称为日期时间格式化
在Python中使用strftime(format)方法进行日期时间的格式化
2、把字符串转换为日期时间对象,称为日期时间解析
在Python中使用datetime.strptime(date_string,format)
在这两个方法中都有一个格式化的参数format,用来控制日期时间的格式,常用的日期时间格式控制符如下
%m 两位月份 如:01,02,12
%y 两位年份 如:20,21
%Y 四位年份 如:2020,2021
%d 两位的天 如:01,10,20
%H 两位小时(24小时制) 如:00,01,18,23
%I 两位小时(12小时制) 如:01,02,12
%p AM或PM区区域性设置 如:AM,PM
%M 两位分钟 如:00,01,45,59
%S 两位秒 如:00,01,59
%f 以6位表示微秒 如:000000,000001,999999
%z +HHMM或-HHMM形式的UTC偏移 +0000,-0400,+1030,如果没有设置时区,则为空
%Z 时区名称 UTC、EST、CST,如果没有设置时区,则为空
![](https://i-blog.csdnimg.cn/blog_migrate/2267204dbc53014734324525e462bb23.png)
三、正则表达式模块 --- re
正则表达式指预先定义好一个“字符串模板”,通过这个“字符串模板”可以匹配、查找替换那些匹配“字符串模板”的字符串
字符串匹配
字符串匹配指验证一个字符串是否符合指定的“字符串模板”,常用于验证用户输入。比如用户在录入注册信息中需要录入邮箱可以通过字符串匹配验证邮箱是否有效。
在Python中通过使用match(p,text)函数进行字符串匹配,其中的参数p是正则表达式,也就是字符串模板,text是指的待验证的字符串。如果匹配成功,则返回一个Match对象,否则返回None
![](https://i-blog.csdnimg.cn/blog_migrate/77da71fe05ce738515bc9c2d1213f135.png)
字符串查找
字符串查找从指从一个字符串中查找匹配正则表达式的子字符串,常用于数据分析,网络爬虫等数据处理中。
常用的字符串查找函数
search(p,text) 在text字符串中查找匹配的内容,如果找到则返回第一个匹配的Match对象,否则返回None,p是一个正则表达式
findall(p,text) 在text字符串中查找所有匹配的内容,如果找到,则返回所有匹配字符串列表,如果一个都没有匹配到则返回None,p是正则表达式
![](https://i-blog.csdnimg.cn/blog_migrate/f4b8d6bd43fb59224859d7a913c8cc43.png)
字符串替换
正则表达式中字符串替换函数使用sub(),这个函数用来替换匹配的子字符串,返回的结果是替换之后的字符串,其语法如下
re.sub(pattern,repl,string,count = 0)
pattern是正则表达式
repl是用于替换的新字符串
string是将要被替换的旧字符串
count表示要替换的最大数量,默认是0表示不限制替换数量
![](https://i-blog.csdnimg.cn/blog_migrate/781fa56897025f56f52aac52b61c0b13.png)
字符串分隔
在Python中使用re模块中的split()函数进行字符串分割,这个函数按照匹配的字符串进行字符串分割,返回字符串列表对象,它的语法格式如下:
re.split(pattern,string,maxsplit = 0)
参数说明:
pattern是正则表达式
string是要分割的字符串
maxsplit是最大分割次数,如果这个值为默认值0则表示对分割的次数没有限制
![](https://i-blog.csdnimg.cn/blog_migrate/09b0dc26de3a590b2c75a8a603827167.png)
四、Python官方文档--模块帮助信息
打开帮助文档:
在IDLE中,点击【Help】--【Python Docs】
![](https://i-blog.csdnimg.cn/blog_migrate/519a1c693cab213db3cef9eaf57e0a50.png)
进入帮助文档的模块索引页面
![](https://i-blog.csdnimg.cn/blog_migrate/2f0714c9c55c2184e7cd753337ca4edd.png)
查找模块,比如我们要找math模块,则按字母索引,点击m,然后页面会定位到m字母开头的模块,然后,找到math即可, 这个时间再点击math就可以进入到math模块的文档页面。