Python的不可變對象可以通過以下幾種方式來定義:
tuple
定義不可變對象。tuple
是一種不可變的序列類型,一旦創建后其元素不可修改。例如:my_tuple = (1, 2, 3)
frozenset
定義不可變對象。frozenset
是一種不可變的集合類型,一旦創建后其元素不可修改。例如:my_frozenset = frozenset([1, 2, 3])
__slots__
屬性限制實例對象的屬性。通過使用__slots__
,可以限制實例對象的屬性不能動態增加或修改。例如:class MyImmutableClass:
__slots__ = ('a', 'b', 'c')
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
my_object = MyImmutableClass(1, 2, 3)
以上是幾種常見的定義不可變對象的方式,其中使用tuple
和frozenset
是最常用的,而自定義類則可以更靈活地定義不可變對象。