Grundlegende Typen in Python#
Variablen in Python können verschiedene Arten von Zahlen und auch andere Dinge wie Text, Bilder und komplexere Objekte enthalten.
Wir können auch den Typ einer Variable ausgeben.
Siehe auch
Dies ist eine ganze Zahl:
a = 5
type(a)
int
Und dies ist eine Fließkomma-Variable:
b = 3.5
type(b)
float
Bei der Kombination von Variablen unterschiedlicher Typen trifft Python eine Entscheidung, welchen Typ die neue Variable haben soll
c = a + b
type(c)
float
Zeichenketten#
Variablen können auch Text enthalten. Wir nennen sie in diesem Fall einen “String” und definieren sie, indem wir den Wert entweder mit einfachen Anführungszeichen ' '
oder doppelten Anführungszeichen " "
umgeben:
first_name = "Robert"
last_name = 'Haase'
Strings können mit dem +
Operator verkettet werden:
first_name + last_name
'RobertHaase'
first_name + " " + last_name
'Robert Haase'
Wenn wir einfache und doppelte Anführungszeichen in unserem Text haben möchten, können wir sie wie folgt einfügen:
text = "She said 'Hi'."
print(text)
She said 'Hi'.
text = 'He said "How are you?".'
print(text)
He said "How are you?".
Kombinieren von Strings und Zahlen#
Bei der Kombination von Variablen numerischer Typen und String-Typen können Fehler auftreten:
first_name + a
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [12], in <cell line: 1>()
----> 1 first_name + a
TypeError: can only concatenate str (not "int") to str
Diese können verhindert werden, indem die numerische Variable mit der Funktion str()
in einen String-Typ umgewandelt wird:
first_name + str(a)
'Robert5'
Sie können auch Strings in Zahlen umwandeln, falls sie Zahlen enthalten:
d = "5"
int(d)
5
a + int(d)
10
Wenn der String keine Zahl enthält, kann eine Fehlermeldung erscheinen:
int("hello")
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Input In [17], in <cell line: 1>()
----> 1 int("hello")
ValueError: invalid literal for int() with base 10: 'hello'
int("")
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Input In [18], in <cell line: 1>()
----> 1 int("")
ValueError: invalid literal for int() with base 10: ''
int("5")
5
f-Strings#
Anstatt Zahlen manuell in Strings umwandeln zu müssen, um sie mit anderen Strings zusammenzufügen, können wir auf f-Strings zurückgreifen, die definiert werden, indem wir einfach ein f
vor das öffnende Anführungszeichen eines regulären Strings setzen:
f"This is an f-string"
'This is an f-string'
Wir können nun Variablen direkt in diesen Text einfügen, indem wir sie mit geschweiften Klammern umschließen:
f"This is an f-string. a's value is {a}. Doubling the value of a gives {2*a}."
"This is an f-string. a's value is 5. Doubling the value of a gives 10."
Wie Sie oben sehen können, können f-Strings beliebig viele Variablen enthalten und die geschweiften Klammern können mehr als nur eine Variable enthalten. Wir können sogar Funktionen innerhalb der Klammern ausführen:
f"The first_name variable contains {first_name.lower().count('r')} r letters."
'The first_name variable contains 2 r letters.'
Übung#
Der Name und das Geburtsdatum von Marie Curie sind in Variablen gespeichert. Verketten Sie sie in einer String-Variable und geben Sie sie aus. Die Ausgabe sollte “Marie Curie, * 7 November 1867” lauten.
first_name = "Marie"
last_name = "Curie"
birthday_day = 7
birthday_month = "November"
birthday_year = 1867