Python3.7之作用域与嵌套函数
一、全局变量与局部变量
在函数中定义的变量为局部变量,在程序中一开始定义的变量为全局变量;
全局变量作用域是整个程序,局部变量作用域是定义该变量的函数;
当全局变量与局部变量同名时,在定义局部变量的函数内,局部变量起作用,在其他地方,全局变量起作用。
name = 'xxr'
def change():
name = 'vivian'
print(name)
print(name)
change()
#输出
'''
xxr
vivian
'''
二、嵌套函数
在函数里面还可以定义函数,可以嵌套多层,在执行时被调用。
age = 18 # 全局变量
def change(): # 最外层函数
age = 20 # 最外层函数的局部变量
print(age) # 打印最外层函数的局部变量
def change2(): # 第二层函数定义
age = 22 # 第二层局部变量
print(age) # 打印22
def change3(): # 第三层函数定义
age = 24 # 第三层局部变量
print(age) # 打印24
change3() # 调用第三层函数
change2() # 调用第二层函数
change()
print(age)
#输出
'''
20
22
24
18
'''