Pythonローカル変数とグローバル変数の違い

2055 ワード

1.定義
グローバル変数:モジュール内、すべての関数の外、classの外、これがグローバル変数ローカル変数:関数内、classのメソッド内(self修飾なし)、これがローカル変数
2.使用方法:
defでは、関数体に生存期間があるだけで、この関数体が出たら変数は使用できない局所変数を定義することができます.
def fun():
    a = 10
    print(a)
    return a + 100
print(fun())

出力:
10
110

すなわち,我々は関数体内で局所変数を用いている.
質問:
APPLY = 100 #     
def fun():
    a = 10 #     
    return a + 100
print(APPLY)  #             
#print(a)  #     : name 'a' is not defined                    

出力:
100

プログラムの外部でローカル変数に直接アクセスできないことを示します.
解決方法:
a = None
def fun():
    global a   #      global a = 20     ,               ,            ,     ?        
    a = 20
print(a) # None
fun()  #   fun      a
print(a)  #        20

出力:
None
20

参考記事:1.モヴァンpythonチュートリアル2.python関数定義でグローバル変数に値を割り当てることができないのはなぜですか?3.python変数(グローバル変数、ローカル変数、クラス変数、インスタンス変数)4.ipythonノート