day16—— 学习总结
re模块
- re.compile(正则表达式) —— 根据正则表达式创建一个正则表达式对象
- re.fullmatch(正则表达式,字符串)——获取字符串和正则表达式完全匹配的结果(看整个字符串是否满足正则规则);如果匹配失败返回None,如果匹配成功,返回匹配对象
- 获取匹配到的字符串
- 匹配对象 . group() - 获取整个正则表达式匹配到的结果
- 匹配对象 . group(N) - 获取正则表达式中第N个分组匹配到的结果
- 获取匹配结果在原字符串中的位置信息,返回开始下标和结束下标(取不到)
- 匹配对象 . span()
- 匹配对象 . span(N)
- 获取原字符串
- 匹配对象 . string()
- 获取匹配到的字符串
- re.match(正则表达式,字符串) —— 将字符串的开头和正则表达式进行匹配;如果匹配失败返回None,如果匹配成功,返回匹配对象
- re.search(正则表达式,字符串)—— 在字符串中查找第一个满足正则的子串,如果没有找到返回None,如果找到了返回匹配对象
- re.findall(正则表达式,字符串)—— 获取字符串中所有满足正则的子串,返回值是列表,列表中的元素是满足正则的子串
- 如果正则中有一个分组,匹配结果返回分组的匹配结果,返回值列表,元素是字符串
- 如果正则中有两个分组,匹配结果返回两个分组的匹配结果,返回值是列表,元素是元组
- re.finditer(正则表达式,字符串)——获取字符串中所有满足正则的子串,返回值是迭代器(序列),序列中的元素是匹配对象
- re.sub(正则表达式,字符串1,字符串2)——将字符串2中所有满足正则表达式的子串全部替换成字符串1
- re.split(正则表达式,字符串)——将字符串中满足正则的子串作为切割点进行切割,返回值是字符串的列表
忽略大小写 单行匹配
- 忽略大小写
- 在正则表达式的最前面加 (?i)
- 传参时 添加 flags=re.I
- 单行匹配
- 默认 多行匹配
- 多行匹配的时候, . 不能匹配换行
- 单行匹配的时候, . 可以匹配换行
- 在正则表达式的最前面加 (?s)
- 传参时 添加 flags=re.S
- 既忽略大小写又单行匹配
- 加 (?is) ,任意顺序
- flags=re.S|re.I
类
-
类:就是拥有相同属性和相同功能的对象的集合
-
对象:累的实例(类的具体表现)
-
定义类 :
- 语法:
class 类名:
类的说明文档
类的内容
说明:
class——固定关键字
类名——自己命名,标识符,非关键字
规范:驼峰式命名,首字母大写
类的说明文档—— 三个双引号 开头结尾的注释
类的内容—— 主要包含类中的属性和方法
属性分为:类属性(字段)和对象属性
方法分为:对象/实例方法、类方法和静态方法
注:方法就是定义在类中的函数
-
创建对象
- 语法: 对象 = 类()
对象/实例方法
- 定义: 直接定义在类中的函数就是对象方法
- 调用方法: 要通过对象来调用 —— 对象.方法名()
- 特点: 自带参数self,而且参数self在调用的时候不需要传参,系统会自动将当前对象传给self(谁调用self指向谁)
初始化方法
-
python的类有一个特殊的对象方法叫
__init__
,这个方法通过类创建对象的时候会被自动调用魔法方法——方法名以
__
开头和结尾,所有魔法方法不需要程序员调用,系统自动调用- 创建对象的时候会自动调用类中的
__init__
方法 - 创建对象的时候是否需要参数和参数数量由类中的
__init__
方法决定
- 创建对象的时候会自动调用类中的
属性
类中的数据信息就是属性,动作信息就是方法
属性分为类属性(字段)和对象属性
-
类属性
直接定义在类中的变量就是类属性
通过类使用 —— 类 . 类属性
属性值不会因为对象不同而不一样
-
对象属性
以 self . 属性名=值 的形式定义在类中
__init__
方法里面通过对象使用 —— 对象 . 属性
属性值会因为对象的不同而不一样