Python関数ID関数

巴扎黑
巴扎黑オリジナル
2017-08-17 10:46:462121ブラウズ

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

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

is と == の違いは、is はメモリ内での比較であるのに対し、== はメモリ内の比較であるということです。価値観

以上がPython関数ID関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。