递归函数:定义了一个函数,并且在函数内自己调用了自己
def digui(num):
print(num)
if num > 0:
digui(num-1)
digui(3)==>3,2,1,0
回调函数:在一个函数中要求传递的参数是一个函数作为参数,并且在函数中使用了传递进来的函数
def func(f):
print(f,type(f))
f()
def love():
print('123')
func(love)==><function love at 0x000001ED9A081790> <class 'function'>
123
闭包函数:在一个函数内返回了一个内函数,并且这个返回的内函数还使用了外函数中局部变量
def person():
money = 0 # 函数中定义了一个局部变量
def work():
nonlocal money # 在内函数中使用了外函数的临时变量
money += 100
print(money)
return work # 在外函数中返回了内函数,这个内函数就是闭包函数
匿名函数:lambda x,y:x+y
iter():把可迭代的对象,转为一个迭代器对象
sorted(iterable,[reverse,key])把可迭代数据里面的元素,一个一个的取出来,放到key这个函数中进行处理,并按照函数中return的结果进行排序,返回一个新的列表
arr = [3,7,1,-9,20,10]
res = sorted(arr,reverse=True,key=abs)#abs为绝对值,reverse默认为False,从小到大排序,为True时反转
print(res)==>[20, 10, -9, 7, 3, 1]
map(func, *iterables):对传入的可迭代数据中的每个元素放入到函数中进行处理,返回一个新的迭代器
varlist = ['1','2','3','4']
res = map(int,varlist) # <map object at 0x104ea8890>
print(list(res))==>[1, 2, 3, 4]