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]

用户登录:

相关推荐
白白糖1 小时前
Day 49 卡玛笔记
python·算法·力扣
大数据魔法师1 小时前
Python爬虫(四)- Selenium 安装与使用教程
爬虫·python·selenium
SuasyYi3 小时前
【深度学习】Transformer 的常见的位置编码有哪些
人工智能·python·深度学习·语言模型·transformer
a0023450016 小时前
python类型转换&深浅拷贝
开发语言·python
星石传说6 小时前
python绘制年平均海表温度、盐度、ph分布图
python·生信·环境数据·分布图
丁总学Java6 小时前
Cannot deserialize instance of java.lang.String out of START_ARRAY token
java·windows·python
魔道不误砍柴功9 小时前
Java中的Stream API:从入门到实战
java·windows·python
xinghuitunan9 小时前
时间转换(acwing)c/c++/java/python
java·c语言·c++·python
tekin10 小时前
Python 高级数据结构操作全解析:从理论到实践
数据结构·python·集合set·高级数据结构·集合操作·队列操作·堆操作
关关钧10 小时前
【R语言】绘图
开发语言·python·r语言