首页 > 解决方案 > 如何将全局变量分配给函数的返回?

问题描述

如何将全局变量分配给函数的返回?我似乎能够让它正常工作的唯一方法是将变量分配给函数本身。当我运行代码时,变量赋值在该行执行函数,这不是我想要的。我只想要一个赋值,以便以后可以使用该变量。

def random_function():   
    x = 3.14    
    return x

这是我想要发生但不起作用的情况:

pi = x

这可行,但在该行的控制台中运行该功能,这不是我想要的:

pi = random_function() 
print(pi)

标签: pythonfunction

解决方案


如果您在函数内部但想为全局分配新值,则必须先声明全局。否则,标识符将被假定为局部变量。我的意思是:

pi = -1   # declare your global

def random_function():
    global pi
    x = 3.14
    pi = x  # now works, after the `global` line above
    return x

推荐阅读