一、函数对象
#1 可以被引用
#2 可以当作参数传递
#3 返回值可以是函数
#4 可以当作容器类型的元素
def foo():
print(‘foo‘)
def bar():
print(‘bar‘)
dic={
‘foo‘:foo,
‘bar‘:bar,
}
while True:
choice=input(‘>>: ‘).strip()
if choice in dic:
dic[choice]()
二、函数嵌套
def max2(x,y):
if x > y:
return x
else:
return y
def max3(x,y,z):
res1=max(x,y)
res2=max2(res1,z)
return res2
print(max3(11,199,2))
def f1():
print(‘f1‘)
def f2():
print(‘f2‘)
def f3():
print(‘f3‘)
f3()
f2()
f1()
三、名称空间与作用域
名称空间:存放名字的地方,三种名称空间
x=1
名称空间正是存放名字x与1绑定关系的地方
python test.py
#1、python解释器先启动,因而首先加载的是:内置名称空间
#2、执行test.py文件,然后以文件为基础,加载全局名称空间
#3、在执行文件的过程中如果调用函数,则临时产生局部名称空间