Python関数 - id関数

高洛峰
リリース: 2016-10-17 14:49:35
オリジナル
1309 人が閲覧しました

id(object)

関数: 返されるのは、一意で変更されないオブジェクトの「ID カード番号」ですが、重複しないライフサイクルでは同じ ID 値が表示される場合があります。ここで説明するオブジェクトは、特に複合型オブジェクト (クラス、リストなど) を指します。文字列や整数などの型の場合、値が変化すると変数の ID も変化します。

Python バージョン: Python2.x Python3.x

Python 英語公式ドキュメント説明:

オブジェクトの「アイデンティティ」を返します。これは、このオブジェクトに対して一意かつ定数であることが保証されている整数 (または長整数) です。ライフタイムが重複しない 2 つのオブジェクトは、同じ id() 値を持つ可能性があります。

CPython 実装の詳細: これはメモリ内のオブジェクトのアドレスです。


注: オブジェクトの id 値はCPython では インタプリタはメモリ内のアドレスを表します (Python の C 言語で実装されたインタプリタ)。


コード例:

class Obj():  
    def __init__(self,arg):  
        self.x=arg  
if __name__ == '__main__':  
       
    obj=Obj(1)  
    print id(obj)       #32754432  
    obj.x=2  
    print id(obj)       #32754432  
       
    s="abc"  
    print id(s)         #140190448953184  
    s="bcd"  
    print id(s)         #32809848  
       
    x=1  
    print id(x)         #15760488  
    x=2  
    print id(x)         #15760464
ログイン後にコピー

2 つのオブジェクトが等しいかどうかを判断するために is を使用する場合、基礎となるのは ID 値です

is と == の違いは、is はメモリ内での比較であるのに対し、== は値の比較


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート