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

用户登录:

相关推荐
冰轮a18 分钟前
Python打卡 DAY 27
python
拓端研究室TRL1 小时前
Python与MySQL网站排名数据分析及多层感知机MLP、机器学习优化策略和地理可视化应用|附AI智能体数据代码
人工智能·python·mysql·机器学习·数据分析
小哈里1 小时前
【pypi镜像源】使用devpi实现python镜像源代理(缓存加速,私有仓库,版本控制)
开发语言·python·缓存·镜像源·pypi
全栈派森2 小时前
云存储最佳实践
后端·python·程序人生·flask
ayiya_Oese2 小时前
[模型部署] 1. 模型导出
图像处理·python·深度学习·神经网络·视觉检测
电商数据girl2 小时前
酒店旅游类数据采集API接口之携程数据获取地方美食品列表 获取地方美餐馆列表 景点评论
java·大数据·开发语言·python·json·旅游
天天打码2 小时前
python版本管理工具-pyenv轻松切换多个Python版本
开发语言·python
楠奕2 小时前
python中使用neo4j
开发语言·python·neo4j
zybsjn2 小时前
后端系统做国际化改造,生成多语言包
java·python·c#
南斯拉夫的铁托2 小时前
labelimg安装及使用指南(yolo)
开发语言·python·yolo