Python全局变量和局部变量

Python全局变量和局部变量:

定义在函数内的为局部变量,在外部访问局部变量会出现未定义的错误

定义在函数外的变量称为全局变量,可以在整个函数范围内访问

当函数中存在与全局变量重名的变量,以函数中的局部变量为准

定义在函数中的局部变量的作用域只在函数中

# 定义全局变量 total
total = 0

def add(num1,num2):
    # 定义局部变量 total
    total = num1 + num2
    # 输出局部变量
    print(total)
    

add(4,6)
# 10
print(total)
# 0

在函数内部,如果想要修改外部变量时,可以使用 global 或 nonlocal 关键字

global 全局变量名:

在函数中使用全局变量,可以对全局变量进行修改。

注:如果只是在函数中使用了和全局变量相同的名字,则只是局部变量

# 定义全局变量 total
total = 0

def add(num1,num2):
    # 使用 global 关键字声明全局变量 total
    global total
    total = num1 + num2
    # 输出全局变量
    print(total)

add(4,6)
# 10
# 输出全局变量
print(total)
# 10

nonlocal 嵌套作用域中的变量(嵌套函数,外层函数与内层函数之间):

修改嵌套函数之间的变量

# nonlocal 嵌套作用域中的变量(嵌套函数,外层函数与内层函数之间):
# 修改嵌套函数之间的变量

def func_out():
    num = 5
    def func_inner():

        # 使用嵌套函数中的 num 值
        nonlocal num

        num = 10
        print("最内部函数中的 num 的值:",num)
    func_inner()
    print("嵌套函数中的 num 的值:",num)
func_out()
# 最内部函数中的 num 的值: 10
# 嵌套函数中的 num 的值: 10

 


2020-02-12

猜你喜欢

转载自www.cnblogs.com/hany-postq473111315/p/12298147.html