Python函数不改变变量 我是C++程序员,我在学习pyPoG,所以我对Python非常陌生。我注意到函数的这种行为,不知道该怎么办:

Python函数不改变变量 我是C++程序员,我在学习pyPoG,所以我对Python非常陌生。我注意到函数的这种行为,不知道该怎么办:,python,pygame,Python,Pygame,假设我们有一个全局变量: x = 10 现在让我们假设有一个函数可以改变x的值: def foo(): x = 100 现在,在我的pygame主循环中,如果我调用foo(),变量x在函数调用之后仍然是10。这是怎么发生的呢?函数内部的局部范围x值发生了变化。在函数外部定义的x具有全局作用域。要更改全局值,请在更新值之前,在函数内尝试global var\u name语句 def foo(): global x x = 100 在函数内部,x的局部范围值已更改。在函数外部定

假设我们有一个全局变量:

x = 10
现在让我们假设有一个函数可以改变x的值:

def foo():
    x = 100

现在,在我的pygame主循环中,如果我调用foo(),变量x在函数调用之后仍然是10。这是怎么发生的呢?

函数内部的局部范围x值发生了变化。在函数外部定义的x具有全局作用域。要更改全局值,请在更新值之前,在函数内尝试
global var\u name
语句

def foo():
  global x
  x = 100

在函数内部,x的局部范围值已更改。在函数外部定义的x具有全局作用域。要更改全局值,请在更新值之前,在函数内尝试
global var\u name
语句

def foo():
  global x
  x = 100

在函数内部,隐式创建另一个变量x,然后将其设置为100。要更改全局变量,请尝试以下操作:

 def foo(): 
              global x
              x = 100
def foo():
全球x
x=100

在函数中,隐式创建另一个变量x,然后将其设置为100。要更改全局变量,请尝试以下操作:

 def foo(): 
              global x
              x = 100
def foo():
全球x
x=100

在函数中需要
global x
。另请参见:
x=100
仅创建函数中所需
global x
的局部变量。另请参见:
x=100
仅创建
foo
的局部变量否,不起作用。否,不起作用。