我在python中有以下代码:
board = 0
def Board1():
global board
board = 1
def Board2():
global board
board = 2
def Board3(board):
board = 3
print board
def ReadBoard():
print board
我认为函数 Board1 和 Board2 应该改变全局变量 board 的值。但这是发生的情况:当我调用板时,它返回 0。如果我调用 Board1,全局板值不会改变,但如果我调用 ReadBoard,它会给出 Board1 分配的值。例如(在 python 控制台中):
>>> board
0
>>> Board1()
>>> board
0
>>> ReadBoard()
1
>>> Board3(board)
3
>>> board
0
>>> board = 4
>>> ReadBoard()
1
我不明白为什么我不能全局更改全局变量以及为什么要在 ReadBoard 函数中读取更改后的变量。