Ich habe gerade ein mir bisher unbekanntes Verhalten der replace()-Funktion festgestellt, das ich nicht ganz nachvollziehen kann. Kann mir bitte von euch jemand das folgende Verhalten erklären? Ich verwende Python 2.6.5.
Code: Alles auswählen
>>> word = "Schlumpf"
>>> word = word.replace("o", "e")
>>> type(word)
<type 'str'>
>>> word = word.replace(u"o", "e")
>>> type(word)
<type 'unicode'>
1. Wenn man einen Substring sucht, der ein Unicode-Objekt ist, warum wird dann der gesamte durchsuchte String auch in ein Unicode-Objekt umgewandelt?
2. Warum wird ein durchsuchter String selbst dann in ein Unicode-Objekt umgewandelt, wenn der gesuchte Substring gar nicht gefunden wurde?
Kann man das Verhalten so beeinflussen, dass ein String nicht in ein Unicode-Objekt umgewandelt wird, wenn der gesuchte Substring nicht gefunden wurde?
Vielen Dank.