如何跨多个函数更改全局变量的值

How do I change the value of a global variable across multiple functions

我在我的代码中改变了一个全局变量的值,但它每次都恢复到原来的值。我该如何解决这个问题?

global a
a = 1

def F1():
  a = 2

def F2():
  print(a)

F1()
F2()

我的输出为 1,但我希望根据 F1 中的更改输出为 2。

查看 Python Programming FAQ 了解 localglobal 变量的规则。

a = 1

def F1():
  global a
  a = 2

def F2():
  print(a)

F1()
F2()

您正试图在 F1 中修改全局 a 的值,因此您需要在此处将 a 声明为全局。