Datentypen#

Datentypen in Python bestimmen, ob Variableninhalte Texte, Zahlen oder Wahrheitswerte sind.

Python ordnet jedem Wert, den wir in einer Variablen speichern, automatisch einen bestimmten Datentypen zu. Bei den Datentypen kann es sich um Zahlen (Numerische), Texte (Strings) oder Wahrheitswerte (Boolean) handeln.

Numerische Datentypen#

In Python werden die numerischen Datentypen in Ganzzahl-, Gleitkommazahl-Datentypen unterschieden. Eine Übersicht zeigt die Tabelle:

Datentyp

Art

Beispiel

integer

Ganzahl-Datentyp

25, 156

float

Gleitkommazahl-Datentyp

37.97, 99.27

Integer (int) - Ganzzahl#

Ganze Zahlen sind sowohl negative als auch positive Zahlen ohne Nachkommastellen. Mit diesen kann Python sehr gut umgehen. Im Gegensatz zu anderen Programmiersprachen sind sie in der Grösse nicht eingeschränkt. Es können beliebig grosse ganze Zahlen speichern [1].

anzahl_monate = 12
einwohner = 43984459
x_wert = -448
summe = 0

Float - Gleitkommazahl#

Fliesskommazahlen gibt es in den meisten Programmiersprachen. Sie werden benutzt, um Dezimalzahlen zu speichern. Die Arbeit mit Fliesskommazahlen bietet aber auch einiges an Stolpersteinen. Vor allem wenn die Zahlen betragsmässig sehr gross werden oder sehr nahe bei 0 liegen, kann es Probleme mit der Genauigkeit geben.

Warnung

Gleitkommazahlen werden mit dem Punkt . getrennt

preis = 12.43
abweichung = -345.2959438329
ergebnis = 23.45

Zeichen Datentypen#

Strings#

Beim Programmieren möchte man nicht nur mit Zahlen arbeiten. Man möchte auch Text abspeichern können, um dem Benutzer etwas mitzuteilen oder um den Text zu verarbeiten.

Diesen Datentyp nennt man Zeichenketten oder auf englisch String. Er wird so genannt, weil wir nicht nur Text darin abspeichern können, sondern beliebige Zeichen wie Satzzeichen, Zahlen (+, q, ?, 45). Sogar Leerzeichen, Tabulatoren und Zeilenumbrüche werden vom Computer als Zeichen behandelt.

Wie schon bei print() erwähnt, kann ein String mittels einfacher ‚ ‚ oder doppelter „ „ Hochkommatas erstellt werden.

name = 'Johann Gambolputty'

name2 = "Johann Gambolputty"

Es gibt zwei Möglichkeiten, da es Situationen geben kann, in den man doppelte Hochkommas in seinem Text verwenden möchte:

Das ist eine Satz mit „doppelten Hochkommas“

In Python würde der folgende Code ein Fehler auswerfen, weil Python denkt, dass der String nach mit beendet ist:

mein_satz = "Das ist ein Satz mit "doppelten Hochkommas""

Die Lösung ist, dass wir den Satz mit einfachen Hochkommas einleiten und dann die doppelten Hochkommas verwenden können.

mein_satz = 'Das ist ein Satz mit "doppelten Hochkommas"'

Variablen in Strings verwenden#

In einigen Situationen will man Variablen oder andere Operationen, zum Beispiel Berechnungen, in einem String verwenden. Um eine Variable einfach in einen String einzufügen, wird vor den Hochkommatas ein f geschrieben. Dadurch erzeichen wir einen f-string. Das f steht für format, weil Python den String formatiert und jede Variable, die sich innerhalb geschweifter Klammern befindet, mit dem Wert der Variable ersetzt und in einen String formatiert.

Der Python f-string ist eine neuere Methode zur Formatierung von Strings in Python 3.6 und höher. Es ermöglicht es, einen String direkt mit Variablen oder Ausdrücken zu formatieren.

vorname = 'johann'
nachname = 'gambolputty'
text = f'Vorname ist {vorname} und Nachname ist {nachname}'

print(text)
Vorname ist johann und Nachname ist gambolputty
a = 5
b = 10
print(f"5 times 10 is equal to {a * b}")
5 times 10 is equal to 50

String-Methoden#

Python kennt verschiedene, eingebaute Möglichkeiten, sogenannte Methoden, um Strings zu verarbeiten. Eine Methode ist eine Aktion, die Python auf eine bestimmte Anzahl von Daten ausführt.

title()#

name = 'johann gambolputty'

print(name.title())
Johann Gambolputty

In diesem Beispiel hat die Variable name den Wert johann gambolputty. Die Methode title() wird nach der Variable geschrieben und mit einem Punkt . von der Variable getrennt. Jeder Methode folgen runde Klammern (), weil Methoden oft weitere Informationen benötigen und diese werden in den runden Klammern übergeben. Die Methode title() benötogt keine weiteren Informationen und deshalb sind die runden Klammern leer.

Die Methode title() ändert jedes Wort so, dass es mit einem Großbuchstaben startet.

upper() und lower()#

Weitere Methoden sind upper() und lower(). Diese beiden Methoden schreiben entweder alle Buchstaben in einem string groß, mit upper(), oder alle Buchstaben klein, mit lower().

name = 'Johann Gambolputty'

print(name.upper())
print(name.lower())
JOHANN GAMBOLPUTTY
johann gambolputty

Bemerkung

Die Methode lower() ist sehr hilfreich, wenn Daten gespeichert werden sollen. Oft kann man den Eingaben der User nicht trauen und speichert alle Daten mittels der lower() Methode als kleingeschrieben. Dann kann selbstständig bestimmt werden, wie die Daten präsentiert werden sollen.

name = 'joHann GambolPutty'
name_neu = name.lower()

print(name_neu.title())
Johann Gambolputty

replace()#

Häufig müssen in Strings Zeichenketten bzw. Teile des Inhalts ausgetauscht werden. Python bietet mit der Methode replace() einfache Möglichkeit. Der Methode werden als Parameter der Wert als String übergebn, der ersetzt werden soll und der Wert, der eingesetzt werden soll. Es werden alle Vorkommen des zu ersetztenden Strings ersetzt.

str = 'Python ist eine einfache Sprache und eine Sprache, die leicht zu erlenen ist.'
str = str.replace('Sprache', 'Programmiersprache')

print(str)
Python ist eine einfache Programmiersprache und eine Programmiersprache, die leicht zu erlenen ist.

count()#

Die count()-Methode zählt alle Vorkommen eines Strings in einem String.

str = 'Python ist eine einfache Sprache und eine Sprache, die leicht zu erlenen ist.'
print(str.count('ei'))
4

find()#

Wollen wir das erste Vorkommen eines Strings bestimmen, können wir die Methode find() verwenden.

str = 'Python ist eine einfache Sprache und eine Sprache, die leicht zu erlenen ist.'
print(str.find('y'))
1

Tipp

In der Programmierung wird immer von 0 aus gezählt und Leerzeichen zählen auch als Zeichen.

Wir können auch den Startpunkt, ab dem gesucht werden soll, bestimmen. Dazu wird der Methode ein weiterer Paraneter übergeben.

str = 'Python ist eine einfache Sprache und eine Sprache, die leicht zu erlenen ist.'
print(str.find('y', 6))
-1

Ab dem Starbpunkt 6 wird kein weiteres y gefunden und deshalb wird -1 als Ergebnis zurückgegeben.

len()#

Die len()-Funktion gibt die Anzahl aller Zeichen in dem String zurück.

Wichtig

Die len()-Funktion ist eine eigenständige Funktion und der String wird der Funktion übergeben.

name = 'Johann'

print(len(name))
6

Wahrheits Datentypen#

Boolean#

Der boolsche Datentyp kann nur zwei Werte annehmen. Entweder wahr (True) oder falsch (False). Dieser Datentyp wird später bei logischen Vergleichen, ist eine Zahl größer als eine andere, benötigt.

ist_anmeldung_erfolgt = True
is_running = False

Typkonvertierung#

Manchmal ist es notwendig den Datentyp einer Variablen in einen anderen Datentypen zu ändern. Dies muß zum Beispiel geschehen, wenn mittels input() ein Wert eingelesen wird - dazu später mehr. Mit Strings kann zum Beispiel nicht gerechnet werden. Deswegen muss der String in eine Zahl umgewandelt werden. Dazu stellt Python entsprechende Konvertierungs-Funktionen zur Verfügung.

int()#

Mittels int() wird ein String oder eine Gleitkommazahl in eine Ganzzahl umgewandelt.

zahl1 = int('55') # ergibt zahl1 = 55
zahl2 = int(45.345) # ergibt zahl2 = 45

float()#

Mittels float() wird eine Ganzahl oder ein String in eine Gleitkommazahl konvertiert.

zahl1 = float(2) # ergibt zahl1 = 2.0
zahl2 = float('55.65') # ergibt zahl2 = 55.65

str()#

str() konvertiert eine Ganzzahl oder Gleitkommazahl in einen String.

zahl1 = str(2) # ergibt zahl1 = '2.0'
zahl2 = str(55.65) # ergibt zahl2 = '55.65'

Typeüberprüfung#

Um zu überprüfen, um welchen Datentyp es sich bei einem bestimmten Wert handelt, kann die type()-Methode verwendet werden.

print(type(5))

print(type(4.56))

print(type('Johann Gambolputty'))
<class 'int'>
<class 'float'>
<class 'str'>

Fußnoten