Junior — Middle
What signs can indicate that an object in a program is immutable?
sobes.tech AI
Answer from AI
An object is considered immutable if its state cannot be changed after creation. In Python, this means that:
- All attributes of the object cannot be modified after initialization.
- Methods that could modify the object are absent or return a new object.
- The object's type belongs to built-in immutable types, such as
int,float,str,tuple,frozenset.
Example: a string str is an immutable object — any operations create a new object rather than changing the existing one.
s = "hello"
s2 = s.upper() # s remains unchanged, a new object s2 is created
If the object is user-defined, immutability can be implemented by defining a class with read-only attributes (for example, via @property without a setter) and without methods that modify the state.