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.可存入变量的实体
'''