ホームページ >バックエンド開発 >Python チュートリアル >Python では変数スコープはどのように定義されますか?

Python では変数スコープはどのように定義されますか?

PHPz
PHPzオリジナル
2023-10-26 10:07:471380ブラウズ

Python では変数スコープはどのように定義されますか?

Python では変数スコープはどのように定義されますか?

Python では、変数のスコープとは、変数が有効になるスコープ、つまり変数にアクセスして操作できるスコープを指します。 Pythonの変数スコープはグローバルスコープとローカルスコープの2種類に分かれます。

グローバル スコープとは、プログラム全体でアクセスおよび操作できる変数を指します。 Python では、グローバル スコープ変数は通常、プログラムの最も外側のレベルで定義され、関数または他のコード ブロック内でアクセスおよび参照できます。グローバル スコープ変数は、プログラム全体のどこでも使用できます。

以下はグローバル スコープの例です:

x = 10

def func():
    print(x)

func()  # 输出:10

上記のコードでは、変数 x が関数 func 内でアクセスされ、関数の外で定義されているため、グローバルスコープに属します。したがって、関数 func で変数 #xx にアクセスし、その値を出力することができます。

ローカル スコープは関数内で定義された変数を指し、関数内でのみアクセスおよび操作できます。その有効範囲は、それが定義されている関数に限定されます。関数の実行が完了すると、ローカル スコープ変数は破棄されます。

以下はローカル スコープの例です:

def func():
    y = 20
    print(y)

func()  # 输出:20
print(y)  # 报错:NameError: name 'y' is not defined

上記のコードでは、変数

y が関数 func 内で定義されています。ローカルスコープに属します。したがって、関数内で変数 y にアクセスし、その値を出力することができます。ただし、関数の外で変数 y にアクセスしようとすると、エラーが報告されます。

Python では、関数内で変数に値が割り当てられると、Python はデフォルトでその変数をローカル変数として扱います。ただし、関数内でグローバル スコープの変数を参照したい場合は、

global キーワードを使用して変数を宣言できます。

これは、

global キーワードの使用例です:

x = 10

def func():
    global x  # 声明变量x为全局变量
    x = 20
    print(x)

func()  # 输出:20
print(x)  # 输出:20

上記のコードでは、関数

func 内で を使用します。 global キーワードは、変数 #xx をグローバル変数として宣言します。このように、変数 x の値が関数内で変更されると、グローバル スコープ内の変数 x の値もそれに応じて変更されます。 要約すると、Python の変数スコープはグローバル スコープとローカル スコープに分かれます。グローバル スコープ変数はプログラム全体のどこからでもアクセスして操作できますが、ローカル スコープ変数は関数内での使用に限定されます。関数内でグローバル スコープの変数を参照する必要がある場合は、

global

キーワードを使用して変数を宣言できます。変数のスコープを理解することは、明確に構造化され保守しやすい Python コードを作成するために重要です。

以上がPython では変数スコープはどのように定義されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。