スコープの紹介
Python のスコープは 4 つの状況に分かれています: L: ローカル、ローカル スコープ、つまり関数内で定義された変数。
E: 囲み、ネストされた親関数のローカル スコープ、つまり Containsこの関数の上位関数のローカル スコープですが、グローバルではありません。
G: モジュール レベルで定義された変数であるグローバル変数。 B: int、bytearray などのシステム固定モジュールの組み込み変数。 。 変数検索の優先順位は、ローカルスコープ > 外部スコープ > 現在のモジュール内のグローバル > Python 組み込みスコープ (LEGB) です。
x = int(2.9) # int built-in g_count = 0 # global def outer(): o_count = 1 # enclosing def inner(): i_count = 2 # local
もちろん、ローカルと囲みは相対的であり、囲み変数も上位層に対してローカルです。
#定义变量a >>> a = 0 >>> print a 0 #定义函数p() >>> def p(): ... print a ... >>> p() 0 #定义函数p2() >>> def p2(): ... print a ... a = 3 ... print a ... >>> p2() # 运行出错,外部变量a先被引用,不能重新赋值 Traceback (most recent call last): File "<interactive input>", line 1, in <module> File "<interactive input>", line 2, in p2 UnboundLocalError: local variable 'a' referenced before assignment #定义函数p3() >>> def p3(): ... a = 3 # 不引用直接赋值 ... print a ... >>> p3() 3 >>> print a 0 # 外部变量a并未改变
上記は編集者が紹介したPythonの変数とスコープの詳細な説明です。ご質問があれば、メッセージを残してください。編集者がすぐに返信します。また、PHP 中国語 Web サイトをサポートしていただきありがとうございます。
Python の変数とスコープに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。