创建函数:
def 函数名( [参数1,参数2] ):
执行体
内嵌函数和闭包
闭包:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包。(闭包就是能够读取其他函数内部变量的函数)
global 局部变量名:把局部变量改成全局变量
nonlocal 变量名:强制转化为非局部变量,即声明此变量与外层同名变量为相同的变量(在内嵌函数中使用)
若要在内嵌函数修改外部函数变量,可以使用nonlocal声明该变量(nonlocal声明此变量与外层同名变量为相同的变量)
lambda表达式(匿名函数)
lambda 原函数的参数:原函数的返回值(相当于匿名的函数,可以省去定义函数的过程)
filter(function or None,iterable):过滤器
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。
function——判断函数
iterable——可迭代对象
返回值:返回一个迭代器对象
返回的是 函数结果为true的变量值,不返回函数结果
map(function,iterable):映射
将序列的每一个元素作为函数的参数进行运算加工,直到可迭代序列的每一个元素都加工完毕,返回所有加工后的元素构成的新序列!
递归
(1)调用函数自身
(2)设置了正确的返回条件
设置递归的深度:
import sys
sys.setrecursionlimit(**)