第四章
类和对象
类和对象:
用来封装变量和方法
类只负责描述和定义,不负责运行,所以调用函数,要放在类的外部。类并不表示具体,对象表示具体的,当类被实例化类之后就变成了具体的对象。
类是模版,通过这个模版可以产生很多个对象。传入具体的姓名和年龄可以将这个类实例化,表示具体的学生。用类创建不同的对象就是要实例化。
以上这三个 1 2 3对应的对象变量都是 name=" age=0,所以是相同的,需要对类传递不同的参数,让 1 2 3变的不相同。
构造函数:
构造函数可以让模版生成不同的对象
函数中全局变量和局部变量vs类中的类变量和实例变量
实例变量保存对象的特征值,访问实例变量要➕self
在实例方法中,如何访问类变量?
例子:当实例一个学生,其总数sum都会增加1
除了定义实例方法,还可以定义类方法
在类方法中操作类变量:
静态方法
在静态方法中访问类变量:
成员可见性及外部调用和内部调用
第五章
正则表达式
正则表达式是一个特殊的字符序列,一个字符串是否与我们设定的字符序列相匹配,如果相匹配可以实现快速搜索文本,替换文本的操作。
例如:1、检查一串数字是否是电话号码
2、检测一个字符串是否符合email格式
3、把一个文本里指定的单词替换为另外一个单词
(1)判断a是否包含python,可以用python的内置函数,也可以用正则表达式:
(2)将a字符串里的数字提取出来:
普通字符&元字符:
'python'是普通字符'\d'是元字符。正则表达式由普通字符和元字符组成。
元字符用到的时候,到列表查找。
(3)将a字符串里的非数字提取出来:
字符集:
(4)找出中间字母是c或者f的单词:
(5)找出中间字母不是c或者f的单词:
(6)找出中间字母是c到f的单词:
概括字符集:
(7)又想匹配数字又想匹配字母,\w匹配单词字符=[A-Za-z0-9_]
匹配非单词字符如空格和回车\n和&用\W
匹配空白字符如空格和回车\n和\r和\t用\s
匹配非空白字符用\S
数量词:
贪婪和非贪婪:
(8)python默认贪婪模式,按照6位字符且满足是字母的方式取:
(9)非贪婪模式,按照3位字符去取:
数量词的表现方式:
*对其前面的字符匹配0次或无数次
?对其前面的字符匹配0次或1次
边界匹配:
(10)要求qq号位数在4到8位数字之间
但是如果qq是九位数以上方法则判断不准确,正则表达式在这里只是寻找匹配的字符。
使正则表达式完全匹配字符串,^表示从开始的第一个字符开始匹配,$表示从字符的最后一个字符末尾往左数。
(11)qq是九位数,判断其是否满足4-8位:
(12)判断字符串是否包含三个python: