函数嵌套

def max(a,b):
    return a if a>b else b

def the_max(a,b,c):
    x = max(a, b)
    return max(c, x) #函数的嵌套调用

res = the_max(1,2,3)
print(res)

def outer():
    a = 1
    def inner():
        nonlocal a #声明了一个上一层局部变量,如果找到最外层是全局变量,不行
        a += 1
        print("inner")
    inner()
    print(a)
outer()

 

def func():
    print('123')

func2 = func #函数名可以赋值
func2()

l = [func, func2] #函数名可以作为容器类型的元素

def wahaha(f):
    f()
    return f #函数名可以作为函数的返回值

wahaha(func) #函数名可以作为函数的参数
wahaha(func)() #使用返回的函数名调用函数

'''
函数名属于第一类对象(first-class object)
1.可在运行期创建
2.可用作函数的参数或返回值
3.可存入变量的实体
'''

 

posted @ 2020-03-28 20:45  vivagoal  阅读(94)  评论(0)    收藏  举报