2021.2.23学习总结

本文介绍了Python的re模块,包括re.compile、re.fullmatch、re.match、re.search、re.findall、re.finditer、re.sub和re.split等方法的使用。还讲解了如何进行忽略大小写和单行匹配,并探讨了类、对象、实例方法、初始化方法以及属性的概念和应用。
摘要由CSDN通过智能技术生成

day16—— 学习总结

re模块
  1. re.compile(正则表达式) —— 根据正则表达式创建一个正则表达式对象
  2. re.fullmatch(正则表达式,字符串)——获取字符串和正则表达式完全匹配的结果(看整个字符串是否满足正则规则);如果匹配失败返回None,如果匹配成功,返回匹配对象
    • 获取匹配到的字符串
      • 匹配对象 . group() - 获取整个正则表达式匹配到的结果
      • 匹配对象 . group(N) - 获取正则表达式中第N个分组匹配到的结果
    • 获取匹配结果在原字符串中的位置信息,返回开始下标和结束下标(取不到)
      • 匹配对象 . span()
      • 匹配对象 . span(N)
    • 获取原字符串
      • 匹配对象 . string()
  3. re.match(正则表达式,字符串) —— 将字符串的开头和正则表达式进行匹配;如果匹配失败返回None,如果匹配成功,返回匹配对象
  4. re.search(正则表达式,字符串)—— 在字符串中查找第一个满足正则的子串,如果没有找到返回None,如果找到了返回匹配对象
  5. re.findall(正则表达式,字符串)—— 获取字符串中所有满足正则的子串,返回值是列表,列表中的元素是满足正则的子串
    • 如果正则中有一个分组,匹配结果返回分组的匹配结果,返回值列表,元素是字符串
    • 如果正则中有两个分组,匹配结果返回两个分组的匹配结果,返回值是列表,元素是元组
  6. re.finditer(正则表达式,字符串)——获取字符串中所有满足正则的子串,返回值是迭代器(序列),序列中的元素是匹配对象
  7. re.sub(正则表达式,字符串1,字符串2)——将字符串2中所有满足正则表达式的子串全部替换成字符串1
  8. re.split(正则表达式,字符串)——将字符串中满足正则的子串作为切割点进行切割,返回值是字符串的列表
忽略大小写 单行匹配
  1. 忽略大小写
    • 在正则表达式的最前面加 (?i)
    • 传参时 添加 flags=re.I
  2. 单行匹配
    • 默认 多行匹配
    • 多行匹配的时候, . 不能匹配换行
    • 单行匹配的时候, . 可以匹配换行
    • 在正则表达式的最前面加 (?s)
    • 传参时 添加 flags=re.S
  3. 既忽略大小写又单行匹配
    • 加 (?is) ,任意顺序
    • flags=re.S|re.I
  1. 类:就是拥有相同属性和相同功能的对象的集合

  2. 对象:累的实例(类的具体表现)

  3. 定义类 :

    • 语法:

    ​ class 类名:

    ​ 类的说明文档

    ​ 类的内容

    ​ 说明:

    ​ class——固定关键字

    ​ 类名——自己命名,标识符,非关键字

    ​ 规范:驼峰式命名,首字母大写

    ​ 类的说明文档—— 三个双引号 开头结尾的注释

    ​ 类的内容—— 主要包含类中的属性和方法

    ​ 属性分为:类属性(字段)和对象属性

    ​ 方法分为:对象/实例方法、类方法和静态方法

    ​ 注:方法就是定义在类中的函数

  4. 创建对象

    • 语法: 对象 = 类()
对象/实例方法
  1. 定义: 直接定义在类中的函数就是对象方法
  2. 调用方法: 要通过对象来调用 —— 对象.方法名()
  3. 特点: 自带参数self,而且参数self在调用的时候不需要传参,系统会自动将当前对象传给self(谁调用self指向谁)
初始化方法
  1. python的类有一个特殊的对象方法叫 __init__,这个方法通过类创建对象的时候会被自动调用

    魔法方法——方法名以__开头和结尾,所有魔法方法不需要程序员调用,系统自动调用

    • 创建对象的时候会自动调用类中的__init__方法
    • 创建对象的时候是否需要参数和参数数量由类中的__init__方法决定
属性

类中的数据信息就是属性,动作信息就是方法

属性分为类属性(字段)和对象属性

  1. 类属性

    直接定义在类中的变量就是类属性

    通过类使用 —— 类 . 类属性

    属性值不会因为对象不同而不一样

  2. 对象属性

    以 self . 属性名=值 的形式定义在类中__init__方法里面

    通过对象使用 —— 对象 . 属性

    属性值会因为对象的不同而不一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zzs00111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值