一尘不染

如何使局部变量(在函数内部)成为全局变量

python

我正在使用函数,这样我的程序就不会一团糟,但我不知道如何将局部变量变成全局变量。


阅读 236

收藏
2020-12-20

共1个答案

一尘不染

这是两种实现相同目的的方法:

使用参数并返回(推荐)

def other_function(parameter):
    return parameter + 5

def main_function():
    x = 10
    print(x)    
    x = other_function(x)
    print(x)

运行时main_function,将获得以下输出

>>> 10
>>> 15

使用全局变量(永远不要这样做)

x = 0   # The initial value of x, with global scope

def other_function():
    global x
    x = x + 5

def main_function():
    print(x)    # Just printing - no need to declare global yet
    global x   # So we can change the global x
    x = 10
    print(x)
    other_function()
    print(x)

现在您将获得:

>>> 0    # Initial global value
>>> 10   # Now we've set it to 10 in `main_function()`
>>> 15   # Now we've added 5 in `other_function()`
2020-12-20