2016-12-09 9 views
0

globalがネストされたシナリオではうまくいかないと思うのはなぜですか?どのように私は同じアクセスを達成することができますか?ネストされた関数のグローバルスコープ

a = 0 
def outer(): 
    def inner(): 
     global a 
     a = 100 

    print (a) 

if __name__ == '__main__': 
    outer() # 0 

答えて

1

あなたが実際に割り当てを行いinner()を呼び出すことはできませんので:今

def outer(): 
    def inner(): 
     global a 
     a = 100 
    inner() # Invoke it 
    print (a) 

100が正しく印刷されます。

+0

ありがとう、ありがとう。 – chris

関連する問題