2.如何在一个函数内修改全局变量

每天至少打卡一道python面试题。以尽量多的方式解锁题目,如果有遗漏的方法,欢迎在评论区补充。希望大家一起提高!

首先我们先来看下面一段代码

VARIABLE = 1

def modify_global():
    VARIABLE = 2
    print(VARIABLE)

if __name__ == '__main__':
    modify_global()
    print(VARIABLE)

你是否会认为两次的输出结果都为2,如果是这样的话,你可能对python的变量作用域(scope)还没有理解透彻。所谓作用域,就是变量的有效范围,变量在哪个范围可以使用。变量的作用域由变量的定义位置决定。

本题主要考察的是局部变量(Local Variable)和全局变量(Global Variable)的知识。

局部变量是在函数内部定义的变量,作用域仅限于函数内部,出了函数就不能使用了。

全局变量是在所有函数外部定义的变量,全局变量的作用域是整个程序
如果需要在函数内,对全局变量进行修改,需要使用global


VARIABLE = 1


def modify():
    VARIABLE = 2
    print(VARIABLE)


def modify_global():
    global VARIABLE
    VARIABLE = 3
    print(VARIABLE)


if __name__ == '__main__':
    modify()
    modify_global()
    print(VARIABLE)

你可能感兴趣的:(2.如何在一个函数内修改全局变量)