Python全局变量和局部变量

╄→гoц情女王★ 提交于 2020-02-12 11:35:24

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!