Każda zmienna w pythonie przechowuje instancję obiektu. Istnieją dwa typy obiektów w pythonie, tj. obiekty mutowalne i niezmienne. Za każdym razem, gdy obiekt jest tworzony, przypisywane jest mu unikalne id obiektu. Typ obiektu jest definiowany w czasie wykonywania i nie może być później zmieniony. Jednak jego stan może być zmieniony, jeśli jest to obiekt mutowalny.
Podsumowując różnicę, obiekty mutowalne mogą zmienić swój stan lub zawartość, a obiekty niezmienne nie mogą zmienić swojego stanu lub zawartości.
Podsumowanie
- Obiekty mutowalne i niemutowalne są w pythonie obsługiwane inaczej. Obiekty niezmienne są szybciej dostępne, a ich zmiana jest kosztowna, ponieważ wymaga utworzenia kopii.
Natomiast obiekty mutowalne są łatwe do zmiany. - Używanie obiektów mutowalnych jest zalecane, gdy zachodzi potrzeba zmiany rozmiaru lub zawartości obiektu.
- Wyjątek : Jednak w niezmienności też jest wyjątek. Wiemy, że tuple w pythonie są niezmienne. Ale tuple składa się z sekwencji nazw z niezmiennymi wiązaniami do obiektów.
Rozważmy tupletup = (, 'myname')
Tuple składa się z łańcucha i listy. Ciągi są niezmienne, więc nie możemy zmienić ich wartości. Ale zawartość listy może się zmienić. Sam tuple nie jest mutowalny, ale zawiera elementy, które są mutowalne.
Jako zasada kciuka, typy typu Generally Primitive-like są prawdopodobnie niezmienne, a typy typu Customized Container-like są w większości mutowalne.
Attention geek! Wzmocnij swoje fundamenty dzięki Kursowi Python Programming Foundation i naucz się podstaw.
Na początek przygotowania do rozmowy kwalifikacyjnej Wzmocnij swoje koncepcje struktur danych dzięki Kursowi Python DS.