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

Pythonでグローバル変数を宣言する方法は?


グローバル変数とは何ですか?

グローバル変数は、関数の外部で宣言される変数ですが、関数の内部で使用する必要があります。

def func():
   print(a)
a=10
func()

出力

10

ここで、変数aはグローバルです。関数の外部で宣言され、関数の内部でも使用できるため。したがって、変数aのスコープはグローバルです。

関数内にグローバル変数と同じ名前の変数を作成するとどうなるかを見ていきます。

上記の例では、変数aは関数の外部で宣言されているため、グローバルです。

関数内で同じ名前の別の変数を別の値で宣言した場合。その変数は関数のローカル変数として機能し、そのスコープは関数内に制限されます。関数の外部では、グローバル変数は元の値を保持します。

例を参考にすると、よりよく理解できます。

a=10
def func():
   a=5
print("Inside function:",a)
func()
print("Outside function:",a)

出力

Inside function: 5
Outside function: 10

上記の例では、aは値が10のグローバル変数です。後でfunc()が呼び出されます。

func()内で、別の変数aが異なる値で宣言されており、そのスコープは関数内でのみ制限されています。したがって、後でaの値が関数の外部に出力されると、グローバル変数と同じ元の値が10になります。

キーワード:グローバル

キーワードglobalは、関数内でグローバル変数を宣言する必要がある場合に使用されます。

関数内で宣言された正規変数のスコープは、関数の最後までのみです。

ただし、関数の外部でも変数を使用する場合は、変数を宣言するときにグローバルキーワードを使用してください。

実装例を参考にして、両方の違いを理解してください。

def func():
   a=5
   print("Inside function:",a)
func()
print("Outside function:",a)

出力

Inside function: 5
Traceback (most recent call last):
print("Outside function:",a)
NameError: name 'a' is not defined

上記の例では、aの値はローカル変数であるため、関数の外部からアクセスすることはできません。したがって、外部関数の値にアクセスすると、例外がスローされます。

グローバルキーワードを使用

上記の例で発生した例外は、変数aを使用してキーワードglobalを宣言すると解決できます。

def func():
   global a
   a=5
   print("Inside function:",a)
func()
print("Outside function:",a)

出力

Inside function: 5
Outside function: 5

上記の例では、変数aはグローバルであるため、関数の外部でもその値にアクセスできます。


  1. Python Matplotlibで多変量関数をプロットする方法は?

    Pythonで多変量関数をプロットするには、次の手順を実行できます- ステップ 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。 ランダムなxを作成します 、 y およびz numpyを使用したデータポイント。 図とサブプロットのセットを作成します。 xを使用して散布図を作成します 、 y およびz データポイント。 ScalarMappableインスタンスのカラーバーを作成します。s 。 図を表示するには、 show()を使用します メソッド。 例 import numpy as np import matpl

  2. Python plt.titleに変数を追加するにはどうすればよいですか?

    Pythonに変数を追加するにはplt.title() 、次の手順を実行できます- numpyとnum(変数)を使用してxとyのデータポイントを作成し、yを計算して、これをタイトルに設定します。 plot()を使用してxおよびyデータポイントをプロットします 赤い色の方法。 変数numを使用して曲線のタイトルを設定します。 図を表示するには、 show()を使用します メソッド。 例 import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize&q