Python グローバル変数の使用: 1. グローバル変数を参照するには、コードは [if i in b:print("%d in list b" %i)]; 2. グローバル変数を変更するには、コードは [print "before func b:", b] です。
#Python グローバル変数の使用:
#1.引用## ※使用するグローバル変数はあくまで参照のため、関数内で値を変更しない場合はglobalキーワードを追加する必要はありません。例:
#! /usr/bin/python a = 1 b = [2, 3] def func(): if a == 1: print("a: %d" %a) for i in range(4): if i in b: print("%d in list b" %i) else: print("%d not in list b" %i) if __name__ == '__main__': func()
出力結果:
リストと変数の両方を直接引用できることがわかります。
2.で使用されるグローバル変数を変更します。関数内で変更する必要がある場合は、次のようなあいまいさの問題が発生します。
出力結果:変数 a については、関数 func で「a = 2」であることがわかります。これは、存在するということは、グローバル変数 a を参照すること、またはグローバル変数 a を作成することを意味する可能性があるためです。 one 新しいローカル変数のあいまいさのため、Python はデフォルトでこのあいまいさを解消するために新しいローカル変数を作成するように指定しますが、リスト b の場合、「b[0] = 1」にはこのあいまいさがありません。
したがって、グローバル変数を直接変更することになりますが、「b = [3, 4]」に変更すると、bもローカル変数になります。特に、func の a = 2 の前にステートメント「if a == 1:」が追加されると、このステートメントでグローバル変数が導入されるため、スクリプトが誤って実行され、ステートメント「a = 1」で変数を作成できなくなります。同じ名前のローカル変数。 したがって、グローバル変数 a を変更する必要があります。次のように、「a = 2」の前にグローバル a ステートメントを追加できます。#! /usr/bin/python a = 1 b = [2, 3] def func(): a = 2 print "in func a:", a b[0] = 1 print "in func b:", b if __name__ == '__main__': print "before func a:", a print "before func b:", b func() print "after func a:", a print "after func b:", b
結論: グローバル変数を参照する場合、グローバル ステートメントは必要ありません。グローバル変数を変更するには、グローバル ステートメントを使用する必要があります。特に要素の値を変更するだけの場合は、グローバル ステートメントを使用する必要があります。リストや辞書などでは、グローバル ステートメントを必要とせずにグローバル変数を直接使用できます。
以上がPythonでグローバル変数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。