- 面向对象
- 使用class 关键字声明类
- class class_name:
- 构造函数__init__(self):
- 所有的方法必须加上self参数,self代表类的实例,在定义时必须有。
- 通过.访问属性或方法,实例.方法(),类名.属性(相当于静态属性);
- 为类添加属性直接类名.属性名=值;就添加了新的属性
- 类的继承
- class childname( parentname):
- 在继承中基类的构造不会被继承
- class childname( parentname):
-
- 方法重写
- 可以直接在子类中声明相同的名字的方法
- 方法重写
- 两个下划线开头的属性为私有属性
- 在类内部调用self.__private_attrs
- 私有方法也是如此在声明时以两个下划线开头
- __foo__:系统定义的方法
- _foo:以单下划线开头的方法表示protected类型的变量
- __foo:双下划线表示的是私有类型
正则表达式re
使用前引入import re
- re.match(pattern,string,flags=0)从字符串起始位置开始匹配,匹配成功返回一个匹配的对象,不成功返回none
- re.search(pattern,string,flags=0)返回第一个匹配的对象
- Re.sub(pattern,替换的字符,原字符串,匹配替换最大次数0表示替换所有,flags=0)
- re.compile(pattern[,flags])生成一个正则表达式对象供match和search使用
- findall(string[,pos[,endpos]])匹配所有
- pattern.findall();返回一个列表
- re.finditer(pattern,string,flags=0)匹配所有子串,作为一个迭代器返回,使用循环取出
- re.split(pattern,string[.maxsplit=0,flags=0])