Exkurs - Zeichenkette als Objekt
Textobjekte und ihre Operationen
Python ist eine Programmiersprache, die Konzepte aus unterschiedlichen Programmierstilen zur Verfügung stellt. Wir verwenden hier in erster Linie Konzepte der funktionalen und imperativen Programmierung. Nur gelegentlich weichen wir von dieser Festlegung ab. So ist es für mache Anwendungen günstig, vordefinierte Operationen zu benutzen, die einen objektorientierten Programmierstil unterstützen.
Betrachte als Beispiel die Verwendung des replace
-Operators auf Zeichenketten.
>>> text = 'Pizza mit Salami'
>>> text.replace('mit', 'ohne')
'Pizza ohne Salami'
Hier wird eine objektorientierte Verarbeitungslogik benutzt. Das von der Variablen text
verwaltete Objekt stellt den Verarbeitungsoperator replace
zur Verfügung.
Die Anwendung dieses Operators wird durch eine Anweisung der Gestalt objekt.operator(...)
ausgelöst. Mehr über diese objektorientierte Verarbeitungslogik erfährst du im
Abschnitt Objektorientierte Programmierung mit Python.
Der folgende Python-Dialog zeigt exemplarisch einige für Anwendungen interessante Operatoren für Zeichenketten,
die alle objektorientiert benutzt werden.
>>> text.replace('mit', 'ohne')
'Pizza ohne Salami'
>>> text
'Pizza mit Salami'
>>> text.count('mi')
2
>>> text.find('ami')
13
>>> text.isalpha()
False
>>> text.upper()
'PIZZA MIT SALAMI'
>>> text
'Pizza mit Salami'
>>>
Aufgabe 1
(a) Führe selbst einen entsprechenden Python-Dialog. Weitere Operationen für Zeichenketten findest du in Nachschlagewerken.
(b) Kommentiere den Dialog, z.B. so:
>>> text.replace('mit', 'ohne') # erzeugt eine neue Zeichenkette, bei der 'mit' durch 'ohne' ersetzt ist
'Pizza ohne Salami'
>>> text # Achtung, text bleibt unverändert
'Pizza mit Salami'