作用域 1、作用域:变量可以使用的范围 程序的变量并不是在所有位置都能使用,访问的权限决定于变量在哪里赋值 2、根据变量声明的位置不同,作用域可以分为4类 局部作用域--->函数体中声明的变量 嵌套作用域--->嵌套函数中外层函数体中声明的变量。 全局作用域--->py文件中声明的变量。 内置作用域----> python提供的变量(函数) 3.变量的搜索顺序 先从当前作用域查找,如果找到则停止搜索。如果找不到就往上一层 作用域中查找。依次类推。如果都找不到就报错。 异常处理 bug指由于编程出现的一些问题,异常是指由于某些不可控原因或用户操作等问题造成的。 一、什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。 当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。 二、异常处理 捕捉异常可以使用try/except语句。 try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。 如果你不想在异常发生时结束你的程序,只需在try里捕获它。
结构:
'''
try.....except....finally
try:
语句t
except 错误码 as e:
语句一
except 错误码 as e:
语句二
........
except 错误码 as e:
语句n
finally:
语句f
......作用:语句t无论是否有错误都将执行最后的语句f
'''
try:
print(5/0)
except BaseException as e:
print("异常一")
except ZeroDivisionError as e:
print("异常二")
#跨越多层调用
def func1(num):
print(1/num)
def func2(num):
func1(num)
def main():
func2(0)
try:
main()
except ZeroDivisionError as e:
print("除数不能为0")
断言:
def func(num,div):
assert (div !=0),"div不能为0"
return num /div
print(func(10,0))