インプレース変数型と不変型
インプレース不変型はハッシュ可能型とも呼ばれ、インプレース可変型はハッシュ不可能型とも呼ばれます。
インプレース不変型:
数値型: int、float、decimal.Decimal、fractions.Fraction、complex
文字列型: str、bytes
tuple
frozenset
ブール型: True 、False
None
In-place mutable type:
list
dict
set
In-place mutable
ハッシュが引き続きin-placeのハッシュ値を返すかどうかを実際に確認する方法place immutable type の場合、この関数がインプレース可変型で呼び出された場合、TypeError が返されます。
ハッシュ化できる型のみが辞書キーとして使用できます。
ハッシュ化できる型のみをセットに配置できるため、セット自体をセット内にネストすることはできません。
例:
>>> hash(b'aaa')
6904179387427091653
>>> hash(bytearray(b'aaa'))
ファイル " < ;stdin>"、1 行目、
TypeError: unhashable type: 'bytearray'
>>> hash(frozenset({1,2,3}))
-7699079583225461316
>> ; > hash({1,2,3})
トレースバック (最後の呼び出し):
ファイル "
TypeError: ハッシュ不可能なタイプ: 'set'
>>> id(L)
>>>
49689480 #その場で変更すると、ストレージアドレスが変更されていないことがわかります。
>> #その場で変更できないため、文字列が変更されると、新しいメモリ アドレスが保存用に開かれます。
>
比較中に各要素のサイズが順番に比較され、型が異なることが判明した場合、エラーが表示されます。
list
tuple
str
dict
set
上記はPythonのデータ型の概要です。その他の関連記事については、PHP Chineseを参照してください。ウェブサイト (www.php.cn)!