Jakie typy danych w Pythonie są mutowalne?

W świecie programowania Python, jedną z fundamentalnych wiedz, którą każdy programista powinien posiadać, jest rozróżnienie między typami danych mutowalnymi a niemutowalnymi. W tym artykule skupimy się na pytaniu: “Jakie typy danych w Pythonie są mutowalne?” i zbadamy to zagadnienie, korzystając z konkretnych przykładów.

Przykład kodu:

W poniższym przykładzie zaprezentujemy mutowalność listy w Pythonie, która jest jednym z mutowalnych typów danych, oraz skontrastujemy to z niemutowalnością krotki.

# Definiowanie mutowalnej listy
fruits = ["apple", "banana", "cherry"]
print("Oryginalna lista:", fruits)

# Modyfikacja listy
fruits[1] = "blueberry"
print("Zmodyfikowana lista:", fruits)

# Dodawanie elementu do listy
fruits.append("orange")
print("Lista po dodaniu elementu:", fruits)

# Definiowanie niemutowalnej krotki
colors = ("red", "green", "blue")
print("Oryginalna krotka:", colors)

# Próba modyfikacji krotki
# To spowoduje błąd, ponieważ krotki są niemutowalne
try:
    colors[1] = "yellow"
except TypeError:
    print("Nie można zmodyfikować krotki!")

# Wyświetlenie końcowych wersji listy i krotki
print("Końcowa wersja listy:", fruits)
print("Końcowa wersja krotki:", colors)

W tym przykładzie najpierw tworzymy listę fruits zawierającą trzy elementy. Listy w Pythonie są mutowalne, co oznacza, że możemy zmienić ich zawartość po utworzeniu. Demonstrujemy to, modyfikując drugi element listy i dodając nowy element na jej końcu.

Następnie tworzymy krotkę colors, która również przechowuje trzy elementy. Próba zmiany elementu krotki kończy się niepowodzeniem i wyzwala wyjątek TypeError, ponieważ krotki są niemutowalne, czyli nie można zmieniać ich zawartości po utworzeniu.

Podsumowanie:

Mutowalne typy danych, takie jak listy, słowniki, i zbiory, pozwalają na modyfikację ich zawartości po utworzeniu. W przeciwieństwie do nich, niemutowalne typy danych, takie jak liczby, łańcuchy znaków i krotki, nie pozwalają na zmianę ich zawartości po inicjalizacji. Zrozumienie różnicy między tymi dwoma kategoriami jest kluczowe dla efektywnego i bezbłędnego programowania w Pythonie.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs Python od podstaw w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top