Python - niezmienność ciągów
W Pythonie typy danych łańcuchowych są niezmienne. Co oznacza, że nie można zaktualizować wartości ciągu. Możemy to zweryfikować, próbując zaktualizować część ciągu, co doprowadzi nas do błędu.
# Can not reassign
t= "Tutorialspoint"
print type(t)
t[0] = "M"
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
t[0] = "M" TypeError: 'str' object does not support item assignment
Możemy to dalej zweryfikować, sprawdzając adres miejsca w pamięci położenia liter ciągu.
.
x = 'banana'
for idx in range (0,5):
print x[idx], "=", id(x[idx])
Po uruchomieniu powyższego programu otrzymujemy następujący wynik. Jak widać powyżej a i wskaż tę samą lokalizację. Również N i N również wskazują na tę samą lokalizację.
b = 91909376
a = 91836864
n = 91259888
a = 91836864
n = 91259888