1.装饰器

为了在增加新的功能,但又不愿意对现有函数内部结构进行改动,此时就可以用到装饰器。

最简单的函数

使用装饰函数在函数执行前和执行后分别附加额外功能
使用语法糖@来装饰函数
使用内嵌包装函数来确保每次新函数都被调用
对带参数的函数进行装饰
2.正则表达式匹配,re模块使用
re.findall(),在要匹配的字符串内整个查找,结果以列表显示。
re.search(),在要匹配的字符串内从左往右查找,查找到后用group()方法显示出来。
re.sub(),替换匹配的字符串,count指定要匹配的字符个数。

匹配格式

模式 描述
^ 匹配字符串的开头
$ 匹配字符串的末尾。
. 匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符。
[...] 用来表示一组字符,单独列出:[amk] 匹配 'a','m'或'k'
[^...] 不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。
re* 匹配0个或多个的表达式。
re+ 匹配1个或多个的表达式。
re? 匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式
re{ n}  
re{ n,} 精确匹配n个前面表达式。
re{ n, m} 匹配 n 到 m 次由前面的正则表达式定义的片段,贪婪方式
a| b 匹配a或b
(re) G匹配括号内的表达式,也表示一个组
(?imx) 正则表达式包含三种可选标志:i, m, 或 x 。只影响括号中的区域。
(?-imx) 正则表达式关闭 i, m, 或 x 可选标志。只影响括号中的区域。
(?: re) 类似 (...), 但是不表示一个组
(?imx: re) 在括号中使用i, m, 或 x 可选标志
(?-imx: re) 在括号中不使用i, m, 或 x 可选标志
(?#...) 注释.
(?= re) 前向肯定界定符。如果所含正则表达式,以 ... 表示,在当前位置成功匹配时成功,否则失败。但一旦所含表达式已经尝试,匹配引擎根本没有提高;模式的剩余部分还要尝试界定符的右边。
(?! re) 前向否定界定符。与肯定界定符相反;当所含表达式不能在字符串当前位置匹配时成功
(?> re) 匹配的独立模式,省去回溯。
\w 匹配字母数字
\W 匹配非字母数字
\s 匹配任意空白字符,等价于 [\t\n\r\f].
\S 匹配任意非空字符
\d 匹配任意数字,等价于 [0-9].
\D 匹配任意非数字
\A 匹配字符串开始
\Z 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串。c
\z 匹配字符串结束
\G 匹配最后匹配完成的位置。
\b 匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。
\B 匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。
\n, \t, 等. 匹配一个换行符。匹配一个制表符。等
\1...\9 匹配第n个分组的子表达式。
\10 匹配第n个分组的子表达式,如果它经匹配。否则指的是八进制字符码的表达式。

正则表达式实例

字符匹配

实例 描述
python 匹配 "python".

字符类

实例 描述
[Pp]ython 匹配 "Python" 或 "python"
rub[ye] 匹配 "ruby" 或 "rube"
[aeiou] 匹配中括号内的任意一个字母
[0-9] 匹配任何数字。类似于 [0123456789]
[a-z] 匹配任何小写字母
[A-Z] 匹配任何大写字母
[a-zA-Z0-9] 匹配任何字母及数字
[^aeiou] 除了aeiou字母以外的所有字符
[^0-9] 匹配除了数字外的字符

特殊字符类

实例 描述
. 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。
\d 匹配一个数字字符。等价于 [0-9]。
\D 匹配一个非数字字符。等价于 [^0-9]。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
\W 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。

转载于:https://www.cnblogs.com/lizheng19822003/p/5194367.html

python第四课知识点总结相关推荐

  1. 自学python第四课——字符串运算符、字符串内置函数、字符串常用方法总结

    第四课 字符串 单.双.三引号 直接赋值和用 input 赋值: "+"号和"*"号在字符串中的使用 in 和 not in 字符串的格式化 r 保留原格式,即 ...

  2. 四、入门python第四课

    本节课我开始正式进入python内容的学习,本节学习目标为: 1.注释 2.变量 3.bug 4.数据类型 5.输出 6.输入 7.数据类型转换 8.运算符 一.注释 在讲解注释之前我们先来看一张有注 ...

  3. 四、Python第四课——Python中列表及其操作(增删改查)

    目录 一.Python中的列表 1.列表的定义和赋值 2.列表的使用 二.列表的"增删改查" 1.列表中元素的增加 A.在列表尾添加元素 B.在列表中插入元素 2.列表中" ...

  4. python课程推荐-课程推荐:四天人工智能 python入门体验课

    作为一名被大数据和数量信息包裹的文案,我们必定要在文案力.创意和策略能力之外,准备一个加薪引擎--以技术思维处理数据运算的能力. 只有跑得足够快,才能不被行业当成 "老古董" 落下 ...

  5. python dataframe 新列_Python第二十四课:Pandas库(四)

    Python第二十四课:Pandas库(四)点击上方"蓝字",关注我们. 不知不觉,我们已经跨越了千难万险,从零开始,一步步揭开了Python神秘的面纱.学到至今,回过头,才晓得自 ...

  6. 编程计算机教小明加法,Python校本课程第四课——教案

    Python校本课程第四课 课题:一个简单的加法器 数据类型的转换 教学目标: 1.能区别三种数据类型的表示以及记住相互转换命令str(),int(),float() 2.通过完成一个简单加法器的程序 ...

  7. 【Python的自学之路】(六):案例分析第四课-小工具2.0

    目录 序言 背景 思路 代码及解析 跋文 序言 小工具1.0版本,备份oracle存储过程的小工具上篇文章已经都了解完毕了,下面继续进行功能升级,2.0版本-表数据的导出功能. 背景 案例分析第四课- ...

  8. Python界面编程第十四课:Pyside2 (Qt For Python)使用Calendar创建日历

    QCalendar 是什么? QCalendar对象使用特定系统规则将年.月和日映射到特定的日期(最终由它的Julian天数标识). 默认的QCalendar() 是一个扩展的Gregorian日历, ...

  9. 第四课.LinuxShell编程

    第四课目录 什么是Shell Shell编程 创建脚本 注释 Shell变量 基本运算 字符串,数组,分支循环,函数 应用实例 猜数字 获取CPU使用情况 探测本地网络 什么是Shell 有人说Lin ...

最新文章

  1. 你当初是如何走上编程之路的?
  2. linux树形看磁盘,2 - 3、Linux—磁盘分区和挂载【2021-3-3】
  3. jquery基础使用!
  4. 计算机视觉算法_RANSAC 估计
  5. 【ML】PAC learning model
  6. 【UVA1339】古老的密码(巧妙思路+(q)sort降序排列的三种方法)
  7. 压缩包上传 压缩并解压缩Rar/Zip
  8. 塑料颗粒行业调研报告 - 市场现状分析与发展前景预测
  9. ArduinoUNO实战-第四章-按键控制led
  10. VM安装MAC虚拟机
  11. 扫描电子显微镜SEM在失效分析中的应用
  12. (word、ppt、excel)​office怎么删除历史文档记录
  13. 移动通信核心网络技术总结(三)EPC网络的结构及原理
  14. RISC-V架构能否引领物联网时代?
  15. Binder Java层实现(一):IBinder/IInterface/Binder/Stub
  16. 未来的房子果真“白菜价”,当代青年应以何种心态面对买房
  17. (一)DragonBone制作运动的小汽车
  18. 新华都总裁兼CEO给唐骏留言
  19. 笔记本电脑免拆清灰的诸多方法,怎么不拆机清灰
  20. 计算机cpu风扇不转怎么办,CPU风扇不转但是能开机,电脑风扇不转了怎么修理

热门文章

  1. 纯野今日之最:面试谈
  2. 红外解码软件 android,一文教会你红外线遥控器软件解码程序
  3. 计算机英语 考研 翻译,研究生英语翻译笔记
  4. (77)译码器与编码器(八三编码器)
  5. (70)FPGA面试题-使用不同的代码实现2:1 MUX ?使用case语句
  6. (71)信号发生器DDS方波设计 (一)(第15天)
  7. 在linux下做源码免杀,Cobaltstrike免杀从源码级到落地思维转变
  8. php中is null,php中empty(), is_null(), isset()函数区别
  9. python冒泡排序代码和注释_python代码求助(两个实验任务,尽量写出注释~)
  10. python爬取小说写入txt_Python BeautifulSoup 爬取笔趣阁所有的小说