グローバル、ローカル以外のキーワード

 

Aは:グローバル:参照は、/関数内のグローバル変数を宣言します

あなたがグローバル変数の内容を変更しない場合は、カスタム機能では、時にはあなたは、あなたが直接このように、参照することができ、関数の外部でいくつかのグローバル変数を参照する必要があります。

C = 999 DEF FUNC():
     プリント(c)の
 場合__name__ == ' __main__ ' 
    FUNC()

 

 変数cの出力値のみ関数が戻ると、Cので文句はありません、変更を行いません。あなたが関数内でグローバル変数を変更したい場合はしかし、あなたが使用する必要があるグローバルなキーワードを、

C = 999 デフFUNC()
     のための I における範囲(10 ):
        C + = 1 なら__name__ == ' __main__ ' 
    FUNC()プリント(C)。




 
    

 上記のコードは、この変数FUNCのC関数を変更しようとしますが、次のエラー:

UnboundLocalError:ローカル変数C の割り当ての前に参照さ

 意味は:代入する前に、ローカル変数を参照します。グローバル次のようにキーワードは、この問題を解決することができます。

= 999 C DEF FUNC():
     グローバル Cの         #は、変更前のグローバルなキーワードを使用するためにレンジ(10 ):
        C + = 1。
 IF __name__ == ' __main__ ' 
    FUNC()印刷(C)


     
    

 加えて、グローバル変数で私たちを助けることができる世界では、以下のように、関数内で宣言しました:

DEF FUNC():
     グローバル・ Cの         グローバル変数では、内で宣言 
    = 100 C IF __name__ == ' __main__ ' 
    FUNC()印刷(C)
 
    

 

2:ローカル以外のキーワード

類似で非ローカルグローバル演技が、グローバル社内関数参照/グローバル変数を変更し、参照がnonloca /内層(非グローバル変数)関数定義されたローカル変数、外部関数を変更することです。この現象は閉鎖となっています。

DEF FUNC():
    C = 100
     DEFのFOO()
         のための I における範囲(10):     外層変更するC変数関数 
            。C + 1 = 
    FOO()
    プリント(C)

IF  __name__ == ' __main__ ' 
    FUNC ()

 次のように与えられました:

UnboundLocalError:ローカル変数C の割り当ての前に参照さ

 上記のエラーと同じですが、この時間は、もはや世界的なキーワードを使用することはできませんし、使用する非ローカルキーワードを(あなたがグローバルを使用する場合は、新しい変数の等価であると宣言しました)

DEF FUNC():
    C = 100
     DEFのFOO():
        非局所C 
        のための I における範囲(10):      #1 外層変更するC変数関数 
            C + 1 = 
    FOO()
    プリント(C)

IF  __name__ == ' __main__ ' 
    FUNC()

 これは与えられていない、出力は110です。

 

全体:グローバルキーワードはグローバル変数や他のローカルスコープを使用して関数内で使用されています。あなたが宣言するために世界的なキーワードに適用されない場合があり、グローバル変数を使用しない場合でも、ローカル以外のキーワードは、機能または別のスコープで外(非グローバル)変数を使用します。

****************短いステップ千マイル****************

おすすめ

転載: www.cnblogs.com/liangxiyang/p/12080163.html