函数与lambda
一 函数
以d名和()
以冒号起始并缩进
return[]结束函数,返回一个值给调用方,不带表达式return相当于none
函数调用
函数文档(注意形参和实参的区别)
函数参数
1位置参数(位置固定)
2 默认参数(放在位置参数后面)
def printinfo(name,age=8);
print('Name:{0},Age:{1}'.format(name,age))
printinfo('小马')#Name:小马,Age:8
注:允许调用参数顺序与声明不一致,因为用函数名匹配函数值
3可变参数(不定长)
4关键字参数(可变函数自动组装成一个元组,关键字自动组装为一个字典)
5命名关键字参数(注意不能缺少参数名)
6参数组合(五个中的四个可以一起使用,但是会有顺序
位置参数 默认参数 可变参数 关键字参数/ 位置 默认 命名关键字 关键字
!不要使用太多参数
函数返回值
变量作用域(局部变量,全局变量)局部变量拥有局部作用域,全局变量在整个程序内访问
用global/nonlocal 进行改变
内嵌函数
闭包(重要语法结构,特殊内嵌函数
内部函数里对外层非全局变量进行引用,内部函数被认为是闭包
作用域叫做闭包作用域
!闭包返回值通常是函数
修改闭包作用域的变量用(nonlocal))
递归(循环与递归)
2lambda
匿名函数(无函数名)
表达式应用
高阶函数、1参数是函数(map,filter)
2返回值是函数
filter过滤序列
map映射
自己定义