函数
2020-10-09 17:01:54 7 举报
AI智能生成
python函数流程图
作者其他创作
大纲/内容
函数
函数的结构
def 函数名: 函数体
函数得参数
形参
位置参数:按顺序一一对应
默认参数:传值及覆盖
当函数的定义的时候:*, **代表聚合,*将实参对应的所有的位置参数聚合到一个元组,赋值给args**将实参对应的所有的关键字参数聚合到一个字典中,赋值给kwargs
当函数的调用时:*, **代表打散。*是将所有的 iterable元素打散成实参的位置参数。**是将字典的所有的键值对打散成关键字参数
形参的顺序:位置参数,*args,默认参数,**kwargs
实参
关键字参数:name='alex'一一对应
混合参数:位置参数,关键字参数,放在位置参数后面
global nonlocal
global
1、在函数内部,对全局作用域的变量进行修改
2、在函数内部,声明一个全局变量
nonlocal
下级函数对上级(更高级)函数非全局变量进行修改
闭包
内层函数对外层函数非全局变量的引用,并将内层函数函数名返回
机制:Python解释器遇到闭包,那么这个空间不会随着函数的结束而释放
闭包的应用场景
装饰器
爬虫
生成器
1、通过python代码写的迭代器,本质就是迭代器
生成器的形成方式
1、生成器函数 yield
send.....
2、生成器推导式
循环模式(变量(加工后的变量)for i in iterable)
筛选模式(变量(加工后的变量)for i in iteravle if 条件)
什么是函数?
封装一个功能
节省代码,减少重复率。
提高代码可读性
函数的返回值return
1、结束函数
2、给函数的调用者(执行者)返回值
只有return None
return单个值:返回单个值,不改变数据类型
return多个值:以元组的形式返回
没有return:默认返回None
函数名的应用
1、函数名即函数地址
2、函数名可以作为变量
3、函数名可以作为函数的参数
4、函数名可以作为函数的返回值
5、函数名可以作为容器类类型的元素
内存,空间:
全局名称空间
存储当前py文件:变量与值得对应关系
内置名称空间
局部作用域
局部名称空间 当函数执行时,内存临时开辟一个空间存储函数内部变量与值得关系,随着函数得结束而消失
加载顺序:内置名称空间--->程序运行时 全局名称空间--->函数调用时 局部名称空间
取值顺序:就近原则 LEGB
迭代器
1、可迭代对象:内部含有__iter__方法
2、迭代器:内部含有__iter__方法和__next__
3、可迭代对象--->迭代器 iter(可迭代对象)
4、迭代器取值
__next__
for 循环
cloose( )
内置函数
0 条评论
回复 删除
下一页