函数
2022-06-25 23:44:21 18 举报
AI智能生成
函数的总结内容
作者其他创作
大纲/内容
函数的结构
def func()
pass
pass
函数的参数
实参
1.位置参数,从右至左一一对应
2.关键字参数 一一对应
3.混合参数 位置参数在关键字参数前面
形参
1.位置参数 从左至右一一对应
2.默认值参数(参数陷阱)
3.动态参数,万能参数(*args **kwargs)
4.仅限关键字参数
形参角度的顺序:位置参数,*args,默认值参数,仅限关键字参数,**kwargs
*的魔性用法
函数的定义时:*代表着聚合
函数的执行时:*代表着打散
*处理剩余的元素
函数名的应用
函数名就是变量
函数名()执行本函数
函数名可以作为容器类类型的元素
函数名可以作为i函数的参数
函数名可以作为函数的返回值
生成器
生成器的本质
生成器就是迭代器
生成器的产生方式
1.生成器函数
一个yield 对应一个next yield
代替了内层for,提高了效率 yield from
2.生成器表达式
3.python内置函数返回的
推导式
列表推导式 生成器表达式
1.循环模式
[变量 (加工后的变量)for 变量 in iterable]
2.筛选模式
代替了内层for循环,提高了效率
yield from
生成器表达式取值方式
next
for 循环
list 转化
字典推导式
[变量:变量(值)for 变量 in iterable]
集合推导式
常用的内置函数
min,max,storted,filter,map,zip,reduce
什么是函数
函数是以功能为导向
有点:节省了代码,增强了代码的可读的性
缺点:面向过程式编程的一种
函数的返回值returen
1:结束函数
2:给函数的执行者返回值
没有return或者只有return None
return 单个值
return 多个值时 返回的是一个元组
从空间角度函数
名称空间
全局名称空间
全局(整个py文件)变量与值的对应关系
局部名称空间
当函数执行时,在内存中临时开启一个空间,存放函数中变量与值的关系,随着函数运行完毕,空间也会随着关闭
内置名称空间
python中解释器自带的一些内置功能:内置函数,内置模块
作用域
全局作用域
全局名称空间
内置名称空间
局部作用域
局部名称空间
加载顺序与取值顺序
取值顺序
满足就近原则
加载顺序
内置 全局 局部
global nonlocal
global
修改全局变量
在局部声明一个全局变量
nonlocal
内层函数对外层非全局变量的修改
高阶函数
从上至下依次执行
遇到函数的执行等函数执行完毕之后,在向下执行
迭代器
可迭代对象
字面意思:可以重复取值的数据集
专业角度:内部含有__iter__方法的可迭代对象
判断可迭代对象 = __iter__ in dir(obj)
优点:直观,操做方法多,灵活
缺点:占用内存,不可迭代取值(出去索引,按key)
迭代器
字面意思:可以迭代取值的工具
专业角度:内部含有 __iter__ 方法且含有__next__ 的方法
判断可迭代对象
__iter__ in dir(obj)and __next__ in dir (obj)
缺点:不直观,操作方法少,不灵活,效率相对较低
优点:节省内存,惰性机制
用while 循环模拟佛如循环的内部机制
1:转化成迭代器
2:利用while 以及next进行取值
3:try:except 终止循环
lambda
一句话函数:lambda 形参:返回值
与内置函数配合使用
装饰器
闭包
定义
存在与嵌套函数中
内置函数对外层函数非全局变量的引用
闭包的作用
自由变量不会随着函数的结束而消失,保证数据(自用变量)的安全
如何判断闭包
闭包函数.__code__.co_freevars
闭包的作用
装饰器
标准版装饰器
带参数的装饰器
多个装饰器装饰一个函数
递归函数
自己调用自己
默认的递归函数次数:1000
递归根本:逆推,终止条件(trturn)
0 条评论
下一页