'''
# 函数的嵌套定义:在函数内部定义函数
# 诞生的理由:一个函数想使用另一个函数内部的变量,可以定义在其内部
def func():
a = 10
def fn():
print(a)
return fn
new_fn = func()
new_fn()
'''
'''
# global关键字: 统一局部与全局的变量名
a = 100
def fn1():
global a
a = 200 # 让函数的局部变量a与全局变量a统一,两者是一个
print(a)
fn1()
print(a)
'''
# nonlocal关键字:统一局部与嵌套局部的变量名
def fn2():
num = 666
def fn22():
nonlocal num
num = 888
fn22()
print(num)
fn2()
# 作用域:
len = 10
def fn3():
len = 100
def fn33():
len = 1000
print('1:', len)
fn33()
print('2:', len)
fn3()
print('3:', len)