Python 3 – 変数のPythonスコープ-Pythonチュートリアル

変数は、プログラム内で特定の範囲を持っています。 グローバル変数はプログラムのどこでも使用できますが、ローカル変数は特定の領域(関数、ループ)でのみ認識されます。

プロジェクトでは、スコープという言葉が使用されることがあります。「プロジェクトのスコープ外」という意味で、含まれていません。 同様に、変数は関数の範囲外にある可能性があります。

関連コース: 完全なPythonプログラミングコースと演習

例:

前書き

スコープは、変数を使用できる場所と関係があります。 変数を定義する場合、それは必ずしもコード内のどこでも使用できるとは限りません。 関数で定義された変数は、返さない限り、関数でのみ認識されます。

1
2
3
4
5
def something():
localVar = 1


print(localVar)

つまり、関数から変数を返さない限り、それらはそこでのみ使用できます。 これは、グローバル変数とはまったく対照的です。グローバル変数は、複数の関数やメインコードを含め、どこでも使用できます。 グローバル変数は、多くの場合、プログラムの先頭で定義されます。

グローバル変数とローカル変数

以下のプログラムでは、バランスはグローバル変数です。 コード内のどこでも使用できます。 ただし、変数xはaddAmount内でのみ使用できます。

1
2
3
4
5
6
7
8
9
10


balance = 0

def addAmount(x):
global balance
balance = balance + x

addAmount(5)
print(balance)

視覚的には:

範囲

2つの変数があります。balanceは、どこでも使用できるグローバル変数です。 x、これは関数内でのみ使用できます(外部では不明、ローカルスコープ)。

初心者の方は、 それなら私はこの本を強くお勧めします。

運動

以下の演習を試してください。

  1. 変数のバランスを変更する量を減らす関数を追加します
  2. ローカル変数を使用して関数を作成する

例をダウンロード

Hope this helps!

Source link