機能とスコープの戻り値

図1に示すように、関数は、値を返します

デフFUNC(名前、年齢、国):
    USER_INFO = {} 
    [USER_INFO ' 名称' ] = 
    [USER_INFO ' 年齢' ] = 年齢
    [USER_INFO ' ' ] = リターンUSER_INFO 


my_user_info = FUNC(' '、10、' CN '

注意:
    1を、関数return文に直面して、それが機能して、戻り値の実行を停止します、すなわち、機能の実行に代わって声明を返すには、終了
    は機能のreturn文がない場合、それはNoneを返すデフォルト設定されます、2を

    あなたが複数の値を返すようにしたい場合:戻りUSER_INFOを使用した場合、国が複数の値を返す、返された値が返されるタプルの形です。

2.適用範囲

=名前" 徐クール" 
DEF FUNCを(): = " dashuaibi " 
    印刷" 名内側:" 、名前)


FUNC()
印刷" 外名:"、名前)

印刷結果:名内側:dashuaibi
        外名:徐冷却

名前変更機能がどの、出力名は外側に、それを変更していないのに、なぜ?

    図1に示すように、変数はローカル変数と呼ばれる関数、変数のグローバル変数と呼ばれるプログラムで最初に定義で定義されています。

    図2に示すように、グローバル変数のスコープ(すなわち有効範囲)がプログラム全体で、ローカル変数は、定義の可変範囲の関数です。

    3、検索順序は、変数、ローカル変数>グローバル変数である

    とき、グローバル変数とローカル変数の関数定義内に同じ名前のローカル変数、4、ローカル変数が役割を果たし、グローバル変数は、他の場所に機能します。

    5は、直接グローバル変数を変更されていない機能で

関数内のグローバル変数を変更するために、あなたが関数内のグローバル変数を宣言する必要があります:グローバル名=「徐dashuaige」


現象3、転送リストを、発生したときに辞書
   で関数の内部でグローバル変数を変更し、辞書、辞書や外部リストのリストはそれに応じて変化します。
   プログラムは、関数に渡すだけのリスト、および辞書メモリアドレスであるため、同等の値は、コンテナを渡され、コンテナが関数に渡されたものではありませんでした。だから、物事は、コンテナを変更することができます。

おすすめ

転載: www.cnblogs.com/zrxu/p/11577976.html