今日python:函数的作用域与异常处理
作用域:变量可以使用的范围
程序的变量并不是在所有位置都能使用的,访问的权限决定于变量的在哪里赋值的
作用域:
局部作用域
函数作用域(闭包以外的函数)
全局作用域:在定义到整片文档结束之间使用
内建作用域
局部-》函数-》全局-》内建
python中只有模块、函数、类才会引入新的的作用域去,
其他的(if/if-elif-else/while/for)等不会引入新的作用域的
异常处理
1.需求:当程序遇到问题时不让程序结束,而越过错误继续向下执行
ry……except……else
格式:
try:
语句t
except 错误码 as e:
语句1
except 错误码 as e:
语句2
……
except 错误码 as e:
语句n
else:
语句e
注意:else语句可有可无
作用:用来检测try语句块中的错误,从而让except语句捕获错误信息并处理
逻辑:当程序执行到try-except-else语句时
1、如果当try“语句t”执行出现错误,会匹配第一个错误码,如果匹配上就执行对应"语句"
2、如果当try“语句t”执行出现错误,没有匹配的异常,错误将会被提交到上一层的try语句。或者到程序的最上层
3、如果当try“语句t”执行没有出现错误,执行else下的“语句e”(你得有)

2.使用except而不使用任何的错误类型

3.使用except带着多种异常

4.错误码的类型



错误码注意事项:
1.存在优先级的问题 实际为类与类的继承关系
错误其实是class(类),所有的错误都继承自BaseException,所以在捕获的时候,它捕获了该类型的错误,还把子类一网打尽
父类 基类 子类 (待研究)

2.跨越多层调用
跨越多层调用,main调用了func2,func2调用了func1,func1出现了错误,这是只要main捕获到了就可以处理

下节课:Try except finally
网友评论