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

Pythonのグローバル変数とローカル変数?


変数には、グローバル変数とローカル変数の2種類があります。

グローバル変数のスコープはプログラム全体ですが、ローカル変数のスコープはそれが定義されている関数に限定されています。

def func():
x = "Python"
print(x)
print(s)
s = "Tutorialspoint"
print(s)
func()
print(x)

上記のプログラムでは、xはローカル変数ですが、sはグローバル変数です。ローカル変数にアクセスできるのは、定義されている関数(上記のfunc())内でのみであり、スコープ外のローカル変数(func())を呼び出そうとするとエラーを介して。ただし、プログラムで定義された関数(func())を含め、プログラム内のどこからでもグローバル変数を呼び出すことができます。

ローカル変数

ローカル変数には、そのスコープ内でのみ到達できます(上記のfunc()など)。

以下のプログラムのように、xとyの2つのローカル変数があります。

def sum(x,y):
sum = x + y
return sum
print(sum(5, 10))

出力

15

変数xとyは、関数sum()内でのみ機能/使用され、関数外には存在しません。したがって、スコープ外でローカル変数を使用しようとすると、NameErrorが発生する可能性があります。したがって、明らかに以下の行は機能しません。

print(x)

グローバル変数

グローバル変数は、そのスコープがプログラム全体であるため、プログラム内のどこでも使用できます。

非常に簡単な例でグローバル変数を理解しましょう-

z = 25
def func():
global z
print(z)
z=20
func()
print(z)

出力

25
20

func()を呼び出すと、プログラム全体のグローバル変数値が変更されます。

以下の例は、ローカル変数とグローバル変数の組み合わせと関数パラメーターを示しています-

def func(x, y):
global a
a = 45
x,y = y,x
b = 33
b = 17
c = 100
print(a,b,x,y)
a,b,x,y = 3,15,3,4
func(9,81)
print (a,b,x,y)

出力

45 17 81 9
45 15 3 4

  1. Pythonの名前空間とスコープ

    Pythonでは、変数、関数、ライブラリ、モジュールなどを扱います。使用する変数の名前が、別の変数の名前として、または別の関数や別のメソッドの名前としてすでに存在している可能性があります。このようなシナリオでは、これらすべての名前がPythonプログラムによってどのように管理されているかを知る必要があります。これが名前空間の概念です。 以下は名前空間の3つのカテゴリです ローカル名前空間:プログラムによって宣言された関数と変数のすべての名前は、この名前空間に保持されます。この名前空間は、プログラムが実行されている限り存在します。 グローバル名前空間:この名前空間は、Pytho

  2. Bash 変数チュートリアル – 6 つの実用的な Bash グローバル変数とローカル変数の例

    この記事は、進行中の bash チュートリアル シリーズの一部です。他のプログラミング言語と同様に、Bash にも変数が用意されています。 Bash 変数は、プログラムの存続期間中に必要となる情報を一時的に格納します。構文: VARNAME=VALUE 注: 変数の割り当てでは、「=」記号の周りにスペースを入れないでください。 VAR=VALUE を使用すると、シェルは「=」を記号として認識し、コマンドを変数割り当てとして扱います。 VAR =VALUE を使用すると、シェルは VAR がコマンドの名前であると想定し、それを実行しようとします。 シェルは変数の型を気にしません。変数には、