TECH I.S.

Pythonスコープ


変数は、それが作成された範囲からのみ使用できます。これをスコープと呼びます。


ローカルスコープ

関数内で作成された変数は、その関数の*ローカルスコープ*に属し、その関数内でのみ使用できます。

関数内で作成された変数は、その関数内で使用できます。

def myfunc():   x = 300   print(x) myfunc()

関数内の関数

上の例で説明したように、変数xは関数の外部では使用できませんが、関数内のどの関数でも使用できます。

ローカル変数は、関数内の関数からアクセスできます。

def myfunc():   x = 300   def myinnerfunc():     print(x)   myinnerfunc() myfunc()


グローバルスコープ

Pythonコードの本体で作成された変数はグローバル変数であり、グローバルスコープに属します。

グローバル変数は、グローバルおよびローカルの任意のスコープ内から使用できます。

関数の外で作成された変数はグローバルであり、誰でも使用できます。

x = 300 def myfunc():   print(x) myfunc() print(x)

変数の命名

関数の内部と外部で同じ変数名を使用して操作する場合、Pythonはそれらを2つの別個の変数として扱います。1つはグローバルスコープ(関数の外部)で使用可能で、もう1つはローカルスコープ(関数の内部)で使用できます。

関数はローカルxを出力し、コードはグローバルxを出力します。

x = 300 def myfunc():   x = 200   print(x) myfunc() print(x)


グローバルキーワード

グローバル変数を作成する必要があるが、ローカルスコープに留まっている場合は、globalキーワードを使用できます。

globalキーワードは、変数をグローバルにします。

globalキーワードを使用すると、変数はグローバルスコープに属します。
def myfunc():   global x   x = 300 myfunc() print(x)

また、関数内のグローバル変数を変更する場合は、globalキーワードを使用します。

関数内でグローバル変数の値を変更するには、globalキーワードを使用して変数を参照します。

x = 300 def myfunc():   global x   x = 200 myfunc() print(x)



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細