名前空間name space
840 ワード
1、名前空間は名前xと1のバインド関係を格納する場所である
2、pythonには多くの名前空間があり、それぞれの場所には自分の名前空間があり、互いに干渉せず、異なる空間の2つの同じ名前の変数の間には何のつながりもありません.
3、名称空間は4種類ある: を含む
4、異なる変数の役割ドメインの違いは、この変数が存在する名前空間によって決まる.
スコープ
グローバル範囲:グローバル生存、グローバル有効
ローカルレンジ:一時生存、ローカル有効
役割ドメインメソッドglobals()、locals()の表示
5、役割ドメインの検索範囲
すなわちlocals->enclosing function->globals->builtinsです.1階1階の検索は、見つかった後、検索を停止し、最後に見つからなかった場合は
2、pythonには多くの名前空間があり、それぞれの場所には自分の名前空間があり、互いに干渉せず、異なる空間の2つの同じ名前の変数の間には何のつながりもありません.
3、名称空間は4種類ある:
LEGB
locals
:関数内部の名前空間、一般的に関数の局所変数および形式パラメータenclosing function
:ネスト関数における外部関数の名前空間、fun 2がfun 1にネストすると、fun2
にとってfun1
の名前空間はenclosing.globals
:現在のモジュール空間、モジュールはpy
ファイルです.すなわちglobals()はグローバル変数に似ている.builtins
:モジュール空間、すなわち変数または関数の名前空間を内蔵し、print(dir(builtins))は含まれる値を表示します.4、異なる変数の役割ドメインの違いは、この変数が存在する名前空間によって決まる.
スコープ
グローバル範囲:グローバル生存、グローバル有効
ローカルレンジ:一時生存、ローカル有効
役割ドメインメソッドglobals()、locals()の表示
5、役割ドメインの検索範囲
すなわちlocals->enclosing function->globals->builtinsです.1階1階の検索は、見つかった後、検索を停止し、最後に見つからなかった場合は
NameError
の異常を投げ出す.