1. 函数作为参数传递
# 函数作为参数传递
def c(x):
return x + 1
def d(f):
return f(3)
e = d(c)
print(e)
输出:
4
说明一个函数可以接受另外一个函数对象作为自己的参数,并对函数对象进行处理。
2. 函数作为变量传递
def a(x):
return x + 1
b = a
print(b(1))
输出:
2
说明:如果函数不加括号是不会执行的,因为代表的是一个函数对象,它是可以作为变量来传递的。
3.函数作为返回值
def f(x):
return x**2
def g(y):
return f(y)
print(g(10))
输出:
100
说明一个函数返回值可以是另外一个函数.
4. 函数的嵌套以及变量的跨域访问
def h():
x = 10
def n():
return x
return n()
print(h())
输出:10
说明:一个函数(主)内部是可以嵌套另外一个函数的,比如上面的例子中h函数中嵌套了一个n函数, n的本地域是没有变量的,但是它在本地寻找后没有找到就会跨到封装域(主函数和子函数之间的范围)寻找。