函数
2019-08-21 13:38:13 0 举报
AI智能生成
python知识点:函数与内置函数
作者其他创作
大纲/内容
函数
命名空间、作用域等
名称空间
命名空间:当程序执行时,将变量与值的对应关系存放的空间
局部命名空间:当函数执行时,将函数变量与值的对应关系存放在一个空间中,这个空间会随函数调用结束而消失
内置命名空间:Python自带的,如内置函数等等
作用域
全局作用域:
内置命名空间
全局命名空间
局部作用域:
临时命名空间
globals()函数查看全局作用域中的内容locals()函数查看局部作用域中的变量和函数信息
空间加载顺序
内置->全局->局部
空间取值顺序
局部->全局->内置
就近原则 LEGB原则
global
1.在函数中声明一个全局变量
2.在函数中修改一个全局变量
nonlocal
函数名的应用
1.可作为变量
2. 可作为容器类的元素
3.可作为函数的参数
4.可作为函数的返回值
函数的嵌套
只要遇到()就是函数的调用,没有()就不是
闭包:
定义:内层函数对外层函数变量的引用
好处:
1.让一个局部变量常驻内存
2.防止其他程序改变这个变量(当变量写在全局时,可用global修改)
迭代器
迭代器-->可迭代对象:iter(可迭代对象)
迭代器的取值
__next__
for 循环
必须掌握:使用while循环+迭代器来模拟for循环
作用:
1.节省内存
2.惰性机制
生成器
自己用Python代码写成的迭代器
生成器函数
函数中有yield就是生成器函数
.__next__()和.send(内容)都是让生成器走向下一次send 可以给上一个yield的位置传递值
与迭代器区别
return 直接返回结果并结束函数的调用
yield 返回结果,可以让函数分段执行
生成器表达式
1.循环模式
(结果 for 变量 in 可迭代对象)
2.筛选模式
(结果 for 变量 in 可迭代对象 if 条件)
推导式
列表推导式
字典推导式
集合推导式
内置函数
函数的定义:对代码块和功能的封装和定义(以功能为导向)
封装一个功能
节省代码,减少重复率
提高代码可读性
函数的返回值:
1.结束函数
2.将函数的返回值返回给函数的调用者(即:函数名())
没有return 返回None
只有return 返回None
return 单个值 返回单个值
函数的传参
形参角度
1.位置参数
2.默认值参数:一定在位置参数后面
3.动态参数:*args,**kwargs
当函数定义的时候:*,**代表聚合,*将实参对应的所有位置参数聚合成一个元祖,复制给args **将实参对应的所有关键字参数聚合成一个字典
当函数调用的时候:*,**代表打散,*将iterable元素打散成实参的位置参数 **将字典所有的键值对打散成实参的关键字参数
形参的顺序:位置参数>*args>默认值参数>**kwargs
实参角度
2.关键字参数
3.混合参数:关键字参数必须在位置参数后面
0 条评论
回复 删除
下一页