python——第十七天

方法重写(overwrite) 、方法覆盖(override ):在继承的基础上,子类继承了父类的方法,如果不能满足自己使用,我们就可以重写或覆盖该方法

函数重载(overload):

在强数据类型的编程语言中(如Java、C、C++等等):

函数名称相同,函数参数个数不同或者类型不同,从而形成多个同样名称的函数调用时,根据参数的个数或者类型自动完成调用函数的

注意:弱数据编程语言中,默认无法实现函数重载,如果要实现,则需要使用特殊手段

public int add(int x, int y) {

return x + y;

}

public int add(int ) {

return x* x;

}

public float add(float x, int y) {

return x + y;

}

public void add(int x, int y) {

System.out.print1n(x + y) ;

}

public int add(int y, int x) {

return x +y;

}

public float add(int x, float y) {

return x + y;

}

// add(10.56f, 30) ;

add(10, 5.314f) ;

super(),这个全局函数比较特殊,在面向对象中,默认指向父类,是一个指针

多态:

一种事物的多种状态

面向对象中,多态指的是:

在继承的基础上,使用更大的父类来代替子类的现象,被称为多态

简而言之,父类引用指向子类实例

List

ArrayList

ArrayList al=new ArrayList(); //创建子类的方式

List ls = new ArrayList();//多态

像python、JS等弱数据类型语言,天生支持多态

通过大量的面向对象的案例,进行面向对象的练习

异常处理:

软件的容错能力的处理

异常:软件运行过程中的不正常现象,如果不做处理,则会导致软件无法正常执行而挂掉

异常处理:就是将这种异常进行处理,使得代码能继续正常运行(软件的一种容错)

异常处理,就是软件的稳定性的提高和容错能力的提高

注意:异常和致命性错误的区别:

异常是一种错误,但是错误不一定是异常(这里说的是可控性的异常

一般致命性的错误,需要修改代码来解决

而异常时可以通过异常处理的方案来修复

python提供异常处理的方案:

try catch解决方案

try catch:

表示通过尝试着抓捕异常来进行异常解决!!!

try:

#有可能出现异常的代码

#代码

#......

except [xxException |xxxError]:

#异常处理

except [xxException |xxxError]:

#异常处理

except [xxException |xxxError]:

#异常处理

else: 没有异常时执行的代码

finally: #必要时执行的代码

win+R 输入calc打开计算器

finally:

不管存不存在异常,都会执行该代码块

所以一些必须要执行的代码建议放在finally中,以保证肯定执行

如回收资料,销毁缓存等等

注意1:如果函数中,在finally之前存在了return,而且在finally执行前,已经return,则在finally中的修改,不会出现在最终的结果

注意2:但是如果finally存在return,则之前的就会失效

try:

#code...

finally:

#为了使用finally特殊之处

#如果存在必须要执行的重要代码,建议写在finally

正则表达式(regular expresion):

什么是正则表达

正则表达式的诞生

编程语言中为什么使用正则表达式

python对于正则的支持------re

compile 'findall' ,'finditer','match','search','split','sub'

正则表达式的写法:

元字符:

. #匹配任意符号

re.match(".","Ama is good").group

'.*'匹配换行符前的所有字符

\w #匹配有效符号(包括中文)

\d #匹配数字

\s #匹配空白位

^ #以什么开始

$ #以什么结束

re.match("^a,*b$","afdsgbdshfbdhsjb")

acasjdhasj45\] #列举,只能是中括号中的某一个符号充当 re.match("t\[advdch\].\*","ta") \[123456789\] #数字 \[0-9\] #数字 \[a-z\] #小写字母 \[A-Z\] #大写字母 按照ASCII表来的递增 \[A-Za-z\] #大小写字母 \[_0-0a-zA-Z\] #有效符号 反义符: \\D #\\d相反 \\W #\\w相反 \\S #\\s相反 \^\[dasdsadqw\] #以什么开头 \[\^dasdsadqw\] #不能以什么开头 python中匹配路径 需要\\\\\\\\四个斜杠 re.match("c:\\\\\\\\a\\\\\\\\b",p) 或者re.match(r"c:\\\\a\\\\b",p) 重复、位数问题 \* #0\~多位 + #1\~多位 ?(英文的)#0或者1 {n} #n位 {n,} #至少n位 {m,n} #在\[m,n

用户登录:

相关推荐
数据智能老司机2 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机3 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机3 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机3 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i3 小时前
drf初步梳理
python·django
每日AI新事件3 小时前
python的异步函数
python
这里有鱼汤4 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python
databook14 小时前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室14 小时前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三16 小时前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试