函数对象
一函数是第一类对象,即函数可以当做数据传递
1.函数可以被引用
2.函数可以当做参数进行传递
3.返回值可以是函数
4.可以当做容器类型的元素
二。利用该特性优雅的取代多分支if

def foo(): #定义foo函数,
print('foo')
def bar():
print('bar')
dic={
'foo':foo,
'bar':bar,
}
while True:
choice=input('>>: ').strip()
if choice in dic:
dic[choice]()
二 函数嵌套
一 函数的嵌套调用
def max(x,y):
return x if x > y else y
def max4(a,b,c,d):
res1=max(a,b) #在函数max4下调用函数max,比较a,b的大小,并将最大值返回给x
res2=max(res1,c)
res3=max(res2,d)
return res3
print(max4(1,2,3,4))
二 函数的嵌套定义
def f1(): def f2(): def f3(): print('from f3') f3() f2() f1() f3() #报错,为何?请看下一小节
python之基础知识大全

浙公网安备 33010602011771号