名前空間
#の高度な機能 #A. 1 = #)DEF FUNC(: #の 印刷(A) #FUNC()# の名前空間と範囲 #印刷() #INPUT() #のリスト #のタプル #の名前空間3 #建てられた名前空間- Pythonインタプリタの #は、あなたは、組み込みの名前空間の使用を開始することができます名前を格納するためのPythonインタプリタである #組み込みの名前インタプリタを起動する時には、メモリにロードされ #グローバル名前空間-私たちは、コードを書くではなく、機能コード #は、メモリにロードするために、上から下へのプログラムの実行の過程にある #我々が設定したすべての変数と関数名を配置 #ローカル名前空間を-機能 #は内部で定義された関数の名前です #呼び出すとき関数が再び消える実行するために、この名前空間の関数の最後でこの名前空間を生成します #ローカル:あなたはグローバル、組み込みの名前空間名を使用することができます #グローバルでの:あなたは、組み込みの名前空間名を使用できますが、局所使用の使用はできません #内蔵して:あなたは、ローカルおよびグローバル名を使用することはできません #DEF FUNCを(): # A. 1 = #1 #のFUNC() #プリント(A) #1 DEF最大(L): # 印刷( 'FUNCのmax') #1 #の印刷(MAX([1,2,3])) #通常の状況下で直接内蔵の名前使用して #を我々が定義されており、内蔵された同じ名前の名前空間グローバル名にするときに使用、グローバルネームます #を私自身が時々私は私の上司が見つからないとき #我々は見つけることがされていない場合1つのレベルであなたが与えられていない場合に組み込みの名前空間に見つけるために誰もありません #お互いに共有していない複数の独立したローカルな名前空間を持つ必要がありますより多くの機能を、 #1 :DEF INPUT() #の 中に「(印刷今INPUT「) #FUNC DEF(): #1 。#1 = 1 INPUTの #の 印刷(INPUT) #FUNC() #のDEFのFUN1(): # A. 1 = #の #のDEFのfun2():パス #FUNC - >メモリアドレス機能 #の関数名( )コール #の機能のメモリアドレス()関数が呼び出される #のスコープ2種類 #グローバルスコープ-全体像-と内蔵のグローバル名前空間の名前は(グローバルスコープ--globalsに属している) #ローカル機能(ローカルスコープに属するローカル名前空間名)--locals() -スコープ-ローカルでの役割 #。A 1 = #:DEF FUNC() # グローバル #1 、A = 2 # #FUNC() #印刷(A) #不変のデータ型の場合、ローカルのグローバルスコープで変数を見て #が、直接変更することはできません #を変更したい場合は、プログラムの先頭でグローバルなステートメントを追加する必要があります #ローカル(ファンクション)の中に宣言すると、グローバル変数を、この変数は、グローバル変数は、すべてのオペレーティングローカルで有効な必要があります #のA 1 =。 #のB = 2 #DEF FUNC(): # Xの= 'AAA' # Y = 'BBB' #の 印刷(地元の人について()) #の 印刷(グローバル()) #の #のFUNC() #印刷(グローバル()) #の印刷(地元の人々 ())#ローカル #のグローバルは、常にグローバル名前印刷 #の地元の出力地元の人々のどの位置 #1 aは= 1 #DEF FUNCを( A): # A = 2 # 返す #1 #1 A = FUNCを(A) #1 プリント(A)
二、ネストされたとスコープチェーン
#のDEFのMAX(A、B): #1 リターンA IF>他のB B #1 #のDEFのthe_max(X、Y、Z):ネストされた関数は、#呼び出し #1 C = MAX(X、Y) #の 戻りMAX(C 、Z) #1 #の印刷(the_max(1,2,3)) #ネストされた定義関数 #外部関数用いて内部変数関数 #1 = #DEF外側(): # 1 = # DEF内() : # A = 2 # DEF Inner2(): # # は、上記第一層のローカル変数を宣言非ローカル # + = 1つの不変データ型変更の位 # Inner2() # 印刷( '## ## A:'、A) # インナー() #の 印刷( '** ** A:'、A) #表地() #の印刷( 'グローバル'、A) #のみのために非ローカルローカル変数は、ローカル変数の層最寄りの現在の関数から上位レイヤ見つけるために #1 の現在のレベルから最近のローカル変数の機能に影響を与える非局所的変化の関数内で宣言された変数を #グローバル無効 #だけ最新のものに地元のために有力 #1 A = 0 #DEFアウター(): # #A. 1 = # DEFインナー(): #1 #2 = A # DEF Inner2(): # 非局所 #1 印刷(A) # Inner2() # 内側の() # # #アウター() #DEF FUNC(): #の 印刷(123) # # #FUNC()#関数名メモリアドレスである #の関数func2 = FUNC#1名を割り当てることができる 。#の関数func2() #1 #1 Lを= [ FUNC、関数func2]#関数名は、要素のコンテナタイプとして使用することができる 。#の印刷(L) #:I Lにするため # I() DEF FUNC(): プリント(123 ) DEF ワッハッハー(F): F() リターンのF #の機能関数の戻り値として名前 qqxing =ワッハッハー(FUNC) #の名前パラメータとして与えることができる qqxing()