python内置模块(一)
re模块
基本操作方法
1.使用findall方法可以根据正则表达式筛选所有符合的字符。基本句式为:
re.findall('正则表达式',待匹配的字符)
结果为一个列表,没有结果为空列表。
2.使用search()方法,根据正则表达式筛选符合条件的字符,只要找到一个就结束。句式:
re.search('正则表达式',待匹配的字符)
结果为一个对象,可通过group方法打印真正的结果。
需要注意是,如果没有符合条件的数据会返回none,此时使用group会报错。
3.使用match()可以根据正则表达式筛选符合条件的字符,只有字符在开头才能找到。句式:
re.match('正则表达式',待匹配的字符)
结果为一个对象,可通过group方法打印真正的结果。
需要注意是,如果没有符合条件的数据会返回none,此时使用group会报错。
其他操作方法
1.split()可按指定字符分隔字符串,相当于将指定字符的位置变为空列表。句式:
re.split('指定字符',‘字符串’)
需要注意的是,指定字符以每一个字符为单位。
2.sub()可以指定替换字符串的字符,数量不指定是默认为零。句式:
re.sub('替换字符',‘要替换的字符’,‘字符串’,替换数量)
相当于字符串类型的replace方法。
3.subn()方法的作用与sub类似,但是返回的是一个元组,会提示替换了几处。句式:
re.subn('替换字符',‘要替换的字符’,‘字符串’,替换数量)
4.compile()方法的作用是将正则表达式转化为正则表达式对象,之后就可以不用写正则表达式直接调方法。句式:
re.compile('正则表达式')
5.finditer()的作用是根据正则表达式筛选字符后转化成迭代器。可用于迭代取值。句式:
re.finditer('正则表达式','字符串')
6.正则表达式使用()分组,可通过索引找到固定的分组。
findall会有限展示分组,通过?:可以取消。
可通过?P<名字>的方式为分组取名,有名分组可过名字取值。
collections模块
具名元组
具名元组namedtuple可以为元组和内部元素命名,然后通过名字取指定的数据。句式:
namedtuple('名称',[名字1,名字2,...])
队列
队列的模式是先进先出,每次取值只能取出最新的值。句式:
q.put('进入的值')
q.get()
双端队列
双端队列和队列的区别就是两端都可以进行传值和取值。
有序字典
字典一般时无序的,有序字典可以使字典内部的顺序与我们看到的相同。
默认值字典
默认值字典可设置一个默认的类型,该字典中v值都是这种类型的数据。
计数器
计数器功能的作用是统计每个字符的出现次数
time模块
time模块的之前已经使用过的功能包括:
1.time.sleep()作用是使程序原地阻塞指定的秒数。
2.time.time()作用是获取当前时间戳
格式化时间
可以按照一定的格式输出当前的时间
常用格式化时间符号

%y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-53)星期天为星期的开始 %w 星期(0-6),星期天为星期的开始 %W 一年中的星期数(00-53)星期一为星期的开始 %x 本地相应的日期表示 %X 本地相应的时间表示 %Z 当前时区的名称 %% %号本身 python中时间日期格式化符号:
可用函数直接查看格式化时间
格式转换
时间三种表现形式。
1.时间戳(秒数)
2.结构化时间(一般是给机器看的)
3.格式化时间(一般是给人看的)
三种时间是可以相互转换的。
datetime模块
格式化时间
与time模块类似,datetime模块也可以格式化输出时间
除此外datetime还可以单独获取时间信息
时间差
datetime模块可用于计算时间差,
用timedelta方法计算时间差。
可用公式表示:
日期对象 = 日期对象 +/- timedelta对象
timedelta对象 = 日期对象 +/- 日期对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通