? 1.引用
def func():
print('from func')
print(func)
f = func
print(f)
? 2.当作参数传给一个函数
def foo(m):
m()
foo(func)
? 3.可以当作函数的返回值
def foo(x):
return x
res = foo(func)
print(res)
res()
? 4.可以当作容器类型的元素
def func():
print('from func')
l = [x]
function_list = [func]
function_list[0]()
? 函数内部定义的函数,无法在函数外部使用内部定义的函数
? 一个函数里又调用另一个函数,这就是函数嵌套调用
? Python所有有关命名的操作都是在操作名称空间,例如变量名,函数名
? (1):内置名称空间:Python解释器提供好的功能,解释器启动跟着一起启动,是全局作用域
? (2):全局名称空间:Python中顶行写的,不在函数内部定义的,都是全局名称空间,在运行的时候会产生名称空间,是全局作用域
? (3):局部名称空间:在一个小范围定义,只能当前范围及其子空间内运行,例如在函数内部定义的,是局部作用域
? 加载顺序:内置--》全局--》局部
? 查找顺序:从当前所在位置开始查找,如果当前所在的位置为局部名称空间,则查找顺序为局部--》全局--》--内置
? (4):nonlocal关键字:修改局部作用域中的变量
? (5):global关键字:修改局部作用域中的变量
原文:https://www.cnblogs.com/einsam/p/10963861.html