名前空間
最初のPythonのインタープリタが実行を開始した後、それは、メモリ内のスペースをオープンし、変数に遭遇するたびに、変数名と記録された値との間の関係であるが、関数の定義に直面したとき、インタプリタ関数名は関係なく、内部変数とロジック機能、メモリに読み込まれます。関数が呼び出さと訪問されると、インタプリタは、内部空間変数を開くために関数内で宣言された変数に基づいて行われます、関数が完了すると、占有スペースの関数としての内部変数の機能が終了してリリースされます。
名前空間:変数の名前と値のための収納スペース。
名前空間カテゴリー:
1.グローバル名前空間:直接PYファイル、関数の外で宣言された変数は、グローバル名前空間に属します。
2.ローカル名前空間:関数内で宣言された変数がローカル名前空間に保持されます。
3.組み込み名前空間:関数や変数のPythonインタプリタ内部空間を保存します。
ロード順:
1.ビルトイン名前空間。
2.グローバル名前空間。
3.ローカル名前空間。(関数が実行されます)
オーダーの値:
1.ローカル名前空間。
2.グローバル名前空間。
3.ビルトイン名前空間。
第二に、スコープ:スコープ
1.グローバルスコープ:グローバルネームスペース+内蔵の名前空間
2.ローカルスコープ:ローカル名前空間
グローバル()関数がグローバルスコープの内容を表示するには、地元の人々について()関数によって、情報変数と関数のローカルスコープを参照してください。
= 10 A DEF FUNC(): A = 40 、B = 20である プリント(グローバル()) #のグローバルドメインのコンテンツを使用するためのプリント プリント(地元約()) #の局所使用のドメインのコンテンツの印刷を使用 FUNC()
第三に、ネストされた関数
機能とコール内で定義された機能。
#入れ子関数 DEFのFUN1(): プリント(222 ) DEF fun2(): プリント(666 ) 印刷(444 ) fun2() 印刷(888 ) 印刷(333 ) FUN1() 印刷(555)
グローバルとローカル以外のキーワードを使用します。
グローバル:関数内でグローバル変数が導入され、グローバル変数を変更することができます。
非ローカル:内部関数、関数内のローカル変数にアクセスするための内側の層の機能は、また、それを変更することができます。
= 100 A DEF FUNC(): グローバル#グローバル変数Aに導入さ A = 28 #は、グローバル変数に変更 印刷を(A) #28 FUNC() 印刷(A) #28
A = 10 DEFの関数func1(): A = 20である DEFの関数func2(): 非局所 #組み込ま親機能変数 A = 30 #は親関数変数変更 印刷(A) 関数func2() プリント(A) #10 関数func1() #30