Pythonの変数のスコープ
プログラム内のすべての変数は、そのプログラム内のすべての場所でアクセスできるとは限りません。これは、変数を宣言した場所によって異なります。
変数のスコープは、特定の識別子にアクセスできるプログラムの部分を決定します。 Pythonには2つの基本的な変数スコープがあります-
- グローバル変数
- ローカル変数
グローバル変数とローカル変数
関数本体の内部で定義された変数にはローカルスコープがあり、外部で定義された変数にはグローバルスコープがあります。
つまり、ローカル変数には宣言されている関数内でのみアクセスできますが、グローバル変数にはすべての関数からプログラム本体全体でアクセスできます。関数を呼び出すと、関数内で宣言された変数がスコープに取り込まれます。
例
#!/usr/bin/python total = 0; # This is global variable. # Function definition is here def sum( arg1, arg2 ): # Add both the parameters and return them." total = arg1 + arg2; # Here total is local variable. print "Inside the function local total : ", total return total; # Now you can call sum function sum( 10, 20 ); print "Outside the function global total : ", totalを呼び出すことができます。
出力
上記のコードを実行すると、次の結果が生成されます-
Inside the function local total : 30 Outside the function global total : 0
-
Pythonの名前空間とスコープ
Pythonでは、変数、関数、ライブラリ、モジュールなどを扱います。使用する変数の名前が、別の変数の名前として、または別の関数や別のメソッドの名前としてすでに存在している可能性があります。このようなシナリオでは、これらすべての名前がPythonプログラムによってどのように管理されているかを知る必要があります。これが名前空間の概念です。 以下は名前空間の3つのカテゴリです ローカル名前空間:プログラムによって宣言された関数と変数のすべての名前は、この名前空間に保持されます。この名前空間は、プログラムが実行されている限り存在します。 グローバル名前空間:この名前空間は、Pytho
-
Pythonで変数に値を割り当てるにはどうすればよいですか?
Python変数は、メモリスペースを予約するために明示的な宣言を必要としません。変数に値を割り当てると、宣言が自動的に行われます。等号(=)は、変数に値を割り当てるために使用されます。 =演算子の左側のオペランドは変数の名前であり、=演算子の右側のオペランドは変数に格納されている値です。 例 counter = 42 # An integer assignment speed = 60.0 # A floating point name = "Google" # A string print(counter) print(miles) print(name) 出力 こ