简单介绍函数的内容
树图思维导图提供 互联网函数思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 互联网函数思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a65086827439bf98178ea3b9ec56e594
函数思维导图模板大纲
分类
def
lambda
注意
函数在同一范围内不能重载
函数总是有返回值
未指定时为None
攴持递归调用,但不进行尾递归优化
最大深度sys.getrecursionlimit()
位置
按位置传参
按命名传参
默认值
默认值对象在创建函数时生成,所有调用使用同一对象
若为可变类型,则为静态局部变量
默认参数后,只能有变参
变长参数
**kwargs收集额外的命名参数
展开字典键值对
lambda也支持
*args收集多余的位置参数
展开序列类型或字典的键
函数形参和内部变量存储在Iocals名字空间
名字查找顺序
LEGB
locals
builtins
enclosing function
globals
关键字
nonlocal
Python3
修改外部嵌套函数名字空问
globals
修改globals名字空间
functools.partial()
对X86的模拟
获取
inspect.currentframe()
sys.getframe(0)
0:当前函数
1:上个函数
权限管理
上下文
inspect.stack比frame.f_back更方便一些
虚拟机会缓存200个堆栈帧复用对象
含义
函数离开创建环境后,依然持有其上下文状态
func_closure
func_code
co_freevars
当前函数引用外部的名字列表
co_cellvars
被内部函数引用的名字列表
注意
延迟获取现象
树图思维导图提供 《数字教育平台开发项目策划》 在线思维导图免费制作,点击“编辑”按钮,可对 《数字教育平台开发项目策划》 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:d6437326e3e07ecf1e5e178ba84d0100
树图思维导图提供 软考软件设计师 在线思维导图免费制作,点击“编辑”按钮,可对 软考软件设计师 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:6a80d6e336e8d531c07d47352540a4df