这是我的代码:
一个模块settings.py:
My_KEY = ""
我正在另一个模块中使用这个 MY_KEY
我的模块.py
from settings import My_KEY
def function_a():
MY_KEY = "abcd"
def function_b():
function_a();
print My_KEY
我希望在调用 function_b() 时在输出中看到“abcd”,但我怎么会得到空字符串。我完全迷失了
请您参考如下方法:
默认情况下,当在函数内部遇到赋值语句时,Python 会将左侧的变量视为局部变量。
如果你想在一个函数中修改一个全局变量,使用 global statement将变量声明为全局变量:
def function_a():
global My_KEY
My_KEY = "abcd"
但是,最好避免在函数内部修改全局变量。从长远来看,它会使代码更难理解。您可以将 My_KEY 作为 function_a 的返回值传递:
def function_a():
My_KEY = "abcd"
return My_KEY
def function_b():
My_KEY = function_a()
print My_KEY
