この記事では、Python の id() 関数の概要とリストの読み取り方法 (コード例) を紹介します。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。あなた、助けます。
id(object)
オブジェクトの「アイデンティティ」を返します。これは、このオブジェクトにとって一意かつ定数であることが保証されている整数 (または長整数) です。ライフタイムが重複していない 2 つのオブジェクトは、同じ id() 値を持つ可能性があります。
CPython 実装の詳細: これはメモリ内のオブジェクトのアドレスです。
これについて話し合う必要があります。 function まず Python の変数格納メカニズムを理解しましょう:
変数: これは動的変数であり、事前に型を宣言する必要はありません。
a = 'ABC' と記述すると、Python インタプリタは次の 2 つのことを行います:
メモリ内に 'ABC' の文字列を作成します ;
a という名前の変数をメモリ内に作成し、「ABC」を指します。
id(a) は、次のメモリ アドレスを読み取ります。
def addElement(_list): print(6,id(_list)) _list.append(0) print(7,id(_list)) return _list if __name__=="__main__": list1=[1,2,3] print(1,id(list1)) list2 = addElement(list1) print(2,list1) print(3,id(list1)) print(4,list2) print(5,id(list2))
実行結果:
(1, 48757192L) (6, 48757192L) (7, 48757192L) (2, [1, 2, 3, 0]) (3, 48757192L) (4, [1, 2, 3, 0]) (5, 48757192L)
two 重要なポイント:
- #return ステートメントが戻った後、list1 は元の値ではなくその戻り値になります。
- 定義以来、変数 list1 はメモリボックスです。変数自体は常に関数に渡されるため、アドレスは変わりません。最終的には返されますが、後で新しい値が追加されます。代入メソッド a=b を使用した後、 ab のメモリアドレスは一致しています。したがって、list1、list2、および _list のメモリ アドレスは最初から最後まで変更されていません。
以上がPythonのid()関数の紹介とリストの見方(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。