私は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は、グローバル変数ボードの値を変更する必要があると思います。ただし、ボードを呼び出すと0が返されます。Board1を呼び出すと、グローバルボード値は変更されませんが、ReadBoardを呼び出すと、Board1が割り当てた値が返されます。例(Pythonコンソールの場合):
>>> board
0
>>> Board1()
>>> board
0
>>> ReadBoard()
1
>>> Board3(board)
3
>>> board
0
>>> board = 4
>>> ReadBoard()
1
グローバル変数をグローバルに変更できない理由と、変更された変数をReadBoard関数で読み取る理由がわかりませんでした。