pythonの可変データ型と可変データ型をリストし、原理を簡単に説明します.
2056 ワード
可変タイプ(mutable):変数がappend、+=などの操作を行うと==変数の値が変更され、新しいオブジェクトは作成されず、変数が参照するオブジェクトのアドレスも変更されませんが、同じ値の異なるオブジェクトについては、メモリに異なるオブジェクト、すなわち各オブジェクトに独自のアドレスが存在します.メモリに同値のオブジェクトが複数保存されていることに相当し、ここでは参照カウントは存在せず、実在するオブジェクトである. list dict set bytearray user-defined classes(特に定義されていない限り)
可変タイプ(immutable):変数の値を変更==オブジェクトを新規作成しましたが、同じ値のオブジェクトについてはメモリに1つのオブジェクト(アドレス)しかありません.pythonの int float decimal complex bool string tuple range frozenset bytes
例
しゅつりょく
転載先:https://www.cnblogs.com/sea-stream/p/11188732.html
a = [1,2]
b = [1,2]
print(id(a))
print(id(b))
可変タイプ(immutable):変数の値を変更==オブジェクトを新規作成しましたが、同じ値のオブジェクトについてはメモリに1つのオブジェクト(アドレス)しかありません.pythonの
id()
の方法はわかります.例
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