Junior — Middle
Wat is de eigenschap van onveranderlijkheid van strings in Python en waarom kunnen ze niet worden gewijzigd na creatie?
sobes.tech AI
Antwoord van AI
In Python zijn strings onveranderlijke (immutable) objecten. Dit betekent dat, nadat een string is gemaakt, de inhoud niet kan worden gewijzigd.
Redenen voor deze eigenschap:
- Optimalisatie van geheugen en prestaties. Onveranderlijkheid maakt string interning mogelijk — het opslaan van één kopie van identieke strings in het geheugen, wat resources bespaart.
- Veiligheid en voorspelbaarheid. Als strings niet kunnen worden gewijzigd, voorkomt dit per ongeluk of ongewenst wijzigen van gegevens, vooral bij het doorgeven van strings tussen functies.
Bijvoorbeeld, bij het proberen direct een teken in een string te wijzigen:
s = "hello"
s[0] = 'H' # Fout TypeError: 'str' object does not support item assignment
Om een string te wijzigen, moet je een nieuwe maken:
s = "hello"
s = 'H' + s[1:] # Nu is s == "Hello"
Op deze manier worden strings in Python geïmplementeerd als onchangebare objecten om de efficiëntie en veiligheid van de code te verbeteren.