彩虹然

rainbow-ran

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
'''
posted @ 2020-01-16 16:12  彩虹然  阅读(276)  评论(0编辑  收藏  举报