re模块和面向对象day16

    技术2022-07-10  138

    re模块和面向对象

    re模块

    1.re.compile

    compile(正则表达式) - 编译正则表达式,创建正则表达式对象

    2.匹配

    1)fullmatch(正则表达式,字符串) - 让整个字符串和正常则表达式进行匹配 2)match(正则表达式,字符串) - 匹配字符串开头 如果匹配不到结果是None,如果匹配成功了,结果是匹配对象

    3.匹配对象

    re_str = r'\d{3}' result = match(re_str, '123dsdsadsdsawewewqeqeqeqwe') ''' 1)获取匹配对象的字符串 匹配对象.group() - 获取整个正则表达式匹配到的结果 匹配对象.group(分组号) - 获取正则表达式中指定的分组匹配到的结果(分组号从1开始) 2)获取匹配到的子串的范围 匹配对象.span(分组号) - 获取满足条件的下标范围 3)获取原字符串 匹配对象.string

    4.查找

    1)search(正则表达式,字符串) - 查找字符串中第一个满足正则表达式的匹配对象,找到了就返回匹配对象,否则 返回None 2)findall(正则表达式,字符串) - 查找字符串中所有满足正则表达式的匹配对象,返回一个列表,列表中的元素 是字符串 findall正则中如果有分组,只获取分组匹配到的内容 3)finditer(正则表达式,字符串) - 查找字符串中所有满足正则表达式的匹配对象,返回一个迭代器,元素就是 匹配对象

    5.切割

    split(正则表达式,字符串,次数) - 将字符串中能和正则表达式匹配的子串作为切割点,对字符串进行切割指定次 数,不写次数就是全切,返回一个列表,元素是字符串

    6.替换

    sub(正则表达式,字符串1,字符串2) - 将字符串2中满足组正则表达式的子串全部替换成字符串1

    编程思想

    面向过程编程 函数式编程 面向对象编程

    类和对象

    1.什么是类、什么是对象

    类就是拥有相同属性和相同对象的集合(抽象) 对象就是类的实例(具体)

    2.定义类(说清楚共同的属性和功能是什么)

    语法: class 类名: 类的说明文档 类的内容(包含属性和方法) 说明: class - 关键字 类名 - 自己命名,要求和变量、函数名一样 规范:驼峰式命名,并且首字母大写 类的说明文档 - 三个双引号引起来的说明性文字,说清楚类中提供的属性和功能 类的内容 - 包含属性和方法(定义在类中的函数叫方法)

    3.创建对象

    类名() 说明: 类名 - 已经定义好的类

    方法

    类中的方法分为三种:对象方法、类方法、静态方法 1)对象方法 怎么定义:直接定义类中的函数就是对象方法 特点:自带参数self(self不用传参,系统会自动将当前对象传给self),谁调用就指向谁 怎么调用:用对象调用(对象.方法名()) 2)类方法 怎么定义:定义函数前加装饰器(@classmethod) 特点:自带参数cls(cls在通过类调用的时候不用传参,系统自动将当前类传给cls) 怎么调用:用类调用(.方法名()) 3)静态方法 怎么定义:在定义函数前加装饰器(@staticmethod) 特点:没有默认参数 怎么调用:用类调用 注意:从本质上讲,类中的所有方法都可以用对象和类调用,但不能这么做 如果用类调用对象方法,self就会变成普通参数,没有存在的价值 如果用对象调用类方法,cls还是指向类,对象没有存在的价值 4)三种方法怎么选 如果实现函数的功能需要使用对象属性就用对象方法

    1.构造方法

    构造方法:函数名和类名一样的,用来创建对象的方法就是构造(python中的构造方法,在定义类的时候系统已经自动创建好了)

    2.init方法

    __init__方法又叫初始方法,用来在创建对象的时候对对象进行初始化操作 当通过类创建对象的时候,系统会自动调用__init__方法来对创建出来的兑现进行初始化 调用构造方法创建对象的时候需不需要参数,看被自动调用的init方法需不需要参数

    对象属性

    1.属性:对象属性和类属性

    对象属性:对象属性的值会因为对象不一样而不同 1)定义在init方法里面 2)以 self.属性名 = 值 3)通过 对象.属性名 的方式使用属性

    Processed: 0.012, SQL: 9