如何在 Python 中设置全局变量

ois*_*nvg 5 python global-variables

好的,所以我一直在寻找大约 40 分钟如何在 Python 上设置全局变量,我得到的所有结果都是复杂和高级的问题,还有更多的答案。我正在尝试用 Python 制作老虎机,我想制作一个硬币系统,您可以在其中真正赚取硬币,因此游戏会更好,但是当我运行代码时,它告诉我“UnboundLocalError:之前引用的局部变量任务'。我把我的变量设为全局变量:

global coins

coins = 50
Run Code Online (Sandbox Code Playgroud)

由于某种原因打印了“50”并再次给出了 UnboundLocalError 错误,所以从一个答案中我尝试了:

def GlobalCoins():    
    global coins      
    coins = 50
Run Code Online (Sandbox Code Playgroud)

尽管出现以下错误,但没有打印“50”:“NameError: global name 'coins' is not defined'。Soo我真的不知道如何设置一个。这可能是非常基本的东西,这可能也是一个重复的问题,但我的网络搜索和程序内尝试都没有结果,所以我现在处于低迷状态。

小智 13

在函数外部的硬币声明中省略“global”关键字。本文对 Python 中的全局变量进行了很好的调查。例如,这段代码:

def f():
    global s
    print s
    s = "That's clear."
    print s 


s = "Python is great!" 
f()
print s
Run Code Online (Sandbox Code Playgroud)

输出这个:

Python is great!
That's clear.
That's clear.
Run Code Online (Sandbox Code Playgroud)

'global' 关键字不会创建全局变量。它用于拉入已存在于其范围之外的变量。

  • 确实,“global”本身并不创建变量,但它也不要求它已经存在。在函数内部,您可以执行“global x”,然后执行“x = 10”,这将创建全局变量(如果该变量尚不存在)。 (6认同)