この記事ではPython関数のスコープの検索順序をご紹介しますので、具体的な内容は以下の通りです
1 LEGBとは?
L:ローカル関数内部スコープ
E:関数内部と組み込み関数の間を囲む
G:グローバルグローバルスコープ
B:ビルドイン組み込みスコープ
2.LEGB何に使用されますか?
なぜこれを導入する必要があるのでしょうか?またはその機能は何ですか?
その理由は、Python 関数を学習するときに、すべての変数、内部変数、および内部に埋め込まれた関数など、多くの定義ドメインの問題に遭遇するからです。パイソン検索?そして、Python はどのような順序で検索するのでしょうか?順序について説明します
3. 順序とは
Pythonの関数の検索はその名の通りLEGBと呼ばれる4種類に分かれており、この順序で検索されます。
まず、ローカルで、最初に関数内を検索します
次に、囲み、次に関数の内部と埋め込み関数の間で検索します(関数内で関数を再度定義することを意味します)
次に、グローバルであり、関数を検索します全世界
最後に、組み込みスコープです
4. たとえば、
ex1
passline = 60 def func(val): if val >= passline: print('pass') else: print('failed') func(89) '''''''''''' pass [Finished in 0.2s] ''''''''''''
ex2
def Max(val1, val2): return max(val1, val2) print(Max(90, 100)) ''''''''' 100 [Finished in 0.1s] '''''''''