pythonの可変データ型と可変データ型をリストし、原理を簡単に説明します.

2056 ワード

可変タイプ(mutable):変数がappend、+=などの操作を行うと==変数の値が変更され、新しいオブジェクトは作成されず、変数が参照するオブジェクトのアドレスも変更されませんが、同じ値の異なるオブジェクトについては、メモリに異なるオブジェクト、すなわち各オブジェクトに独自のアドレスが存在します.メモリに同値のオブジェクトが複数保存されていることに相当し、ここでは参照カウントは存在せず、実在するオブジェクトである.
  • list
  • dict
  • set
  • bytearray
  • user-defined classes(特に定義されていない限り)
  • a = [1,2]
    b = [1,2]
    print(id(a))
    print(id(b))

    可変タイプ(immutable):変数の値を変更==オブジェクトを新規作成しましたが、同じ値のオブジェクトについてはメモリに1つのオブジェクト(アドレス)しかありません.pythonのid()の方法はわかります.
  • int
  • float
  • decimal
  • complex
  • bool
  • string
  • tuple
  • range
  • frozenset
  • bytes

  • a = 3
    b = 3
    print(id(a))
    print(id(b)) # mem addr is same with a
    a = 5
    print(id(a))
    
    boolx = True
    print(id(boolx))
    boolx = False
    print(id(boolx))

    しゅつりょく
    533780592600
    533780592600                                                

    533780592664

    533780191712

    533780191744
    [Program finished]

     
     
    転載先:https://www.cnblogs.com/sea-stream/p/11188732.html