异常处理
普通用法 try-except
高级用法 try-except-else-finally
使用方式:
在函数下使用:
- return一旦执行,函数返回即结束
- finally一定会执行;执行任意一个return之前会转到finally函数
- try执行完else才会执行,当try中有return,else不执行

def f(a):try:print(1/a)return 1/aexcept:print("except")return "except"else:print("exse")return "else"finally:print("finally")return "finally"f(1)
函数
函数是一段代码的抽象表示
函数定义:
注意事项:
- 默认情况下,参数类型无需声明
- 默认情况下,返回值类型无需声明
- 参数和返回值可以是0个或多个
参数传递:
函数位置和名称传递:
函数调用时可选择按位置或者按名称进行参数传递
默认按位置,参数较多时按名称
def fact(n,m):...fact(10,5) #按位置传递fact(m=5,n=10)#按名称传递
可选参数传递:
函数定义时为某些参数指定默认值,构成可选参数
可选参数要放在最后
def fact(n,m=1)...fact(10)fact(10,5)
可变参数传递:元组和字典形式
函数可以接受不确定总数的参数变量


多返回值:
局部变量和全局变量:
是什么,有什么关系,怎么转换?
规则1:局部和全局变量是不同的变量
- 局部变量是函数内部占位符,与全局变量可以重名但不同
- 函数运算结束后,局部变量被释放
- 使用global 保留字,在函数内部声明并使用全局变量
规则2:局部变量为组合数据类型且未创建,等同于全局变量

SUM:
- 基本数据类型,无论是否重名,局部变量与全局变量不同
- 可通过global保留字在函数内部声明全局变量
- 组合数据类型,局部变量未创建,则被当作全局变量
lambda函数:
匿名函数, 没有名字的函数,
返回函数名作为结果,
用于定义一行内表示的函数

