0

グローバル変数 x & y が printfunc で認識されない理由を誰かが説明できますか?

コード.py

global x
global y

def test(val_x=None,val_y=None)
    x = val_x
    y = val_y
    printfunc()

def printfunc():
   print('x',x)
   print('y',y)

if __name__ = '__main__':
   test(val_x=1,val_y=2)
4

2 に答える 2

2

global中に入れtest()ます。

globalグローバル変数を変更したり、グローバル名前空間に追加される変数を作成したりできるように、関数内で使用されます。:

   def test(val_x=None,val_y=None):
        global x
        global y
        x = val_x
        y = val_y
        printfunc()
于 2012-10-04T16:38:20.657 に答える
0

キーワードはコード ブロック内で使用され、global宣言された変数がローカルではなくグローバルであることを指定します。したがってglobal、関数内に移動します

def test(val_x=None,val_y=None): #you also forgot ':' here
  global x, y
  x = val_x
  y = val_y
  printfunc()

def printfunc():
  global x, y
  print('x',x)
  print('y',y)
于 2012-10-04T16:43:47.860 に答える