昨日回顾
- 正则表达式
- 元字符
- 量词
- 贪婪非贪婪
- 转义符
- re模块
- findall
- 会优先显示分组内容
- 取消优先显示(?: )
- search
- 只能返回第一个符合条件的项
- 得到的结果需要.group()取值
- 默认获取完整的匹配结果
- findall
今日内容
-
re模块结尾
- 分组命名(?P
正则表达式) - 分组命名的引用(?P=name)
- 有的时候要匹配的内容包含不想要的内容
- 要先全部匹配再提取
- 分组命名(?P
-
带参数的装饰器
- 为什么不能改变原函数的调用?
- 开放封闭原则
- 我们提前写好的功能,可以让别人直接使用
- 登录
- 计算函数执行时间
- 多嵌套一层函数,传入一个参数,返回值为原装饰器的变量名。
- 为什么不能改变原函数的调用?
-
递归函数
- 递归最大深度1000层,为节省内存空间
- 尽量控制次数
- 循环和递归的关系
- 递归更占内存
- 递归也不是万能的
- 递归函数必须能停止
- 一个递归函数想结束,必须在函数里写一个return,并且条件可达到
- 并不是有return,return的结果就能被外层接收到,因为返回到上一层了