我刚开始学习基础知识,但我不知道如何更新全局变量。代码为:
def spam():
global eggs
eggs='spam'
def update_eggs():
global eggs;eggs='global'
print(eggs)
我想重写";鸡蛋";变量集为";垃圾邮件";通过";全局";,我尝试了这篇文章中的方法:在Python中的一行中覆盖全局var?但它没有起作用。你能给我个建议吗?提前谢谢!Silvia
您需要调用函数来执行其中的代码。
eggs = 'something'
def spam():
global eggs
eggs='spam'
def update_eggs():
global eggs;eggs='global'
spam() <-- Call function
print(eggs)
这将(用箭头标记(调用函数spam,以便将鸡蛋更新为spam。希望这能有所帮助。
此外,看起来您没有定义全局变量";鸡蛋";。你需要提到鸡蛋=";这里的东西";在代码的开头。";全局";命令使得定义的函数能够在定义全局变量eggs之后对其进行编辑
global关键字允许您修改当前范围之外的变量。它用于创建全局变量,并在局部上下文中对变量进行更改。
在引用全局变量之前,最好在主上下文中初始化全局变量。
eggs = "global" # <-- global variable initialized
def spam():
global eggs
eggs = 'spam'
def update_eggs():
global eggs
eggs = 'update'
print(eggs)
spam() # <-- updates global eggs variable
print(eggs)
update_eggs() # <-- updates global eggs variable
print(eggs)
输出:
global
spam
update
调用spam((或update_eggs((都会更新全局变量egs。