python-機能 - リスト - リファレンス

今日のインタビューで問題が発生しました

DEF FUNC(L = []):

  l.append(A)

  リターンリットル

FUNC( 'A')

FUNC( 'ABC'、[1,2,3,4])

FUNC(10)

[ 'A']

[1,2,3,4、 'ABC']

[ 'A'、10]

あなたは、コンテナ内部の内容の次のFUNC()関数の一覧を続ける場合でも、割り当て、それならば、それは、念の割り当てはありませんが、変更されていますか?

コードの準備で見つかった次のコードからは、機能と参照の問題に注意を払います。そこに関数内のコンテナの定義されたリストがあり、それはときに、関数の定義作成されるため。関数は、コンテナの参照のリストなので、フロントへの影響の背中の結果を返すため。2つの変数がコンテナのアドレスを参照し、同時に人気話します。二つの変数のアドレスデータの変更が影響を受けている中で、それは浅いコピーを言うことができます。

[17]中:DEF FUNC(L = []):
    ...:l.append(A)
    ...:戻りL 
    ...:
    ...:

[18]において:L1 = FUNC(」 ')

ABC」、[1,2,3,4]):L2 = FUNC([19]で' 

、L3 = FUNC(10):[20]において、

[21]において:プリント(L1、L2、L3)
[ 'A'、10] [1、2、3、4、 'ABC'] [ 'A'、10]

おすすめ

転載: www.cnblogs.com/deepstack/p/10950558.html