''''''
'''
函数的嵌套定义
函数对象:
函数的内存地址称之为函数对象
函数的名称空间:
全局:
所有顶着头写的变量、函数...都称之为"全局名称空间"
局部:
在函数内部定义的,都称之为"局部名称空间"
内置:
python解释器自带的都称之为"内置名称空间"
名称空间加载顺序:
内置 ---> 全局 ---> 局部
名称空间查找顺序:
局部 ---> 全局 ---> 内置
'''
#函数的嵌套定义
def func1():
print('from func1...')
def func2():
print('from func2...')
#函数对象
print(func1)
def f1():
pass
def f2():
pass
dic1 = {'1':f1,'2':f2}
choice = input('请选择功能编号:')
if choice == '1':
print(dic1[choice]) #<function f1 at 0x000001657CDCA8C8>
dic1[choice]()
elif choice == '2':
print(dic1[choice]) #<function f2 at 0x0000025FC39DA950>
dic1[choice]()
#函数的名称空间
x = 10
def func1():
x = 20
print('from func1...')
print(x) #20,查找从局部开始
#x = 30
def func2():
print('from func2...')
func1() #调用函数func1()