目录
上节课回顾
函数的定义
函数定义阶段只检测语法,不执行代码
def 函数名():
代码块
函数的三种定义方式
空函数
def func():
pass
有参函数
def func(x,y):
代码块
无参函数
def func():
代码块
函数的返回值
- return可以返回值,默认返回None,return后面不加东西也返回None
- return可以终止函数,有多个return,执行到第一个就结束
- return可以返回多个值,以元组形式返回
函数的调用
函数调用就会执行代码
函数名()
函数的参数
形参
接收实参,具有描述意义
位置形参
从左到右依次接收位置实参
默认形参
- 具有默认值,如果传参,使用传参的值
- 默认形参必须在位置形参后面
实参
具体的值,传参给形参
位置实参
从左到右依次传参给位置形参
关键字实参
- 按照形参名传参
- 必须在位置实参后面
今日所学
可变长参数
*
*形参
用元组接收多余的位置实参
*实参
打散列表,然后以位置实参传给位置形参
**
**形参
用字典接收多余的关键字实参
**实参
打散字典,然后以关键字实参传给位置形参
函数对象
引用
作为容器类元素
作为函数参数
作为函数的返回值
函数嵌套
def
def
外面不能引用函数内部定义的函数
名称空间与作用域
内置名称空间
放内置方法
全局名称空间
除了内置和局部就是全局
局部名称空间
函数内部的定义的变量/函数
执行顺序
内置--》全局---》局部
搜索顺序
从当前位置开始 局部--》全局--》内置--》报错
全局作用域
全局作用域的x和局部作用域的x没有关系,可变数据类型除外
局部作用域
局部作用域1的x 和局部作用域2 的x没有关系
global
局部的可以修改全局的
nonlocal
局部的修改外层局部的