十一 、函数进阶
11.1 高级用法
-
函数可以被引用
# 函数可以作为地址被赋值 def fn(): print('我是fn') f = fn # fn的地址 传给f f() # fn()
-
函数可以作为参数传入另一个函数
def fn(): print('我是fn') def fn2(x): x() # fn() fn2(fn) # x=fn
-
可以将函数作为返回值
def fn(): print('我是fn') def fn2(x): return x a = fn2(fn) a()
-
函数可以作为容器的元素
def fn(): print('我是fn') list1 = [1,True,3,fn] list1[3]()
11.2 匿名函数(lambda)
匿名函数:没有名字函数,比较适合一次性使用的场景, 比如当作参数传第一次,不需要复用
# lambda函数语法,如下
lambda 形参1,形参2 : 返回值
# f(x) = x * x
def f(x):
return x * x
print(f(6))
# 不推荐这么使用
f = lambda x:x*x
print(f(6