Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのグローバルキーワード


Pythonプログラムの変数が異なれば、スコープも異なります。宣言されている場所に応じて、変数は関数内でアクセスできる場合とできない場合があります。関数内に存在する変数を、現在のスコープ外から変更する必要がある場合があります。このようなシナリオでは、変数名を持つグローバルキーワードを使用します。

グローバルキーワードに関する重要なポイントは次のとおりです

  • 関数の外部で宣言された変数は、デフォルトではグローバル変数です。

  • 関数内にある変数にはグローバルキーワードを使用して、変更できるようにします。

  • globalキーワードがない場合、関数内の変数はデフォルトでローカルです。

グローバルなし

以下の例では、グローバルキーワードなしで変数の変更がどのように行われるかを確認します。これは、グローバルキーワードが次のプログラムでどのような違いをもたらすかを理解するのに役立ちます。以下の例では、関数内のグローバル変数を変更しようとしています。ただし、関数内のグローバル変数を変更できないため、エラーが発生します。

var = 321
# function to modify the variable
def modify():
   var = var * 2
   print(var)
# calling the function
modify()

出力

上記のコードを実行すると、次の結果が得られます-

UnboundLocalError: local variable 'var' referenced before assignment

グローバルあり

次に、キーワードglobalとともに関数内で変数を宣言します。これにより、変数が変更可能になります。

var = 321
# function to modify the variable
def modify():
   global var
   var = var * 2
   print(var)
# calling the function
modify()

出力

上記のコードを実行すると、次の結果が得られます-

642

入れ子関数内のグローバル

ネストされた関数を使用する必要がある場合は、変数を変更できるように、内部関数でグローバルキーワードを宣言する必要があります。

def outer_func():
   var = 321
# function to modify the variable
   def modify():
      global var
   var = var * 2
   print(var)
# calling the function
   modify()
outer_func()

出力

上記のコードを実行すると、次の結果が得られます-

642

  1. Pythonクラスでグローバル変数を宣言するにはどうすればよいですか?

    グローバル変数 はグローバルスコープを持つ変数です。つまり、シャドウされていない限り、プログラム全体で表示およびアクセスできます。すべてのグローバル変数のセットは、プログラムのグローバル環境またはグローバルスコープと呼ばれます。 変数の前にキーワードglobalを使用して、変数globalを宣言します。すべての変数には、宣言および定義されたブロックのスコープがあります。これらの変数は、宣言のポイントの後でのみ使用できます。 例 グローバル変数宣言の例 def f():             global s    

  2. Python関数でグローバル変数を使用するにはどうすればよいですか?

    グローバルおよびローカルという用語は、スクリプトまたはプログラム内の変数の到達範囲に対応します。グローバル変数は、どこからでもアクセスできる変数です。ローカル変数には、そのフレーム内でのみアクセスできます。ローカル変数にグローバルにアクセスすることはできません。 グローバル変数は、関数の外部で定義および宣言され、どこでも使用できる変数です。 同じ名前の変数が関数のスコープ内で定義されている場合、その変数は関数内で指定された値のみを出力し、グローバル値は出力しません。 指定されたコードは、関数fooの内部と外部の両方でグローバル変数にアクセスする方法を示すように書き直されています。 例 #