Grundlagen der Typumwandlung
Swipe um das Menü anzuzeigen
Typumwandlung ermöglicht den Wechsel zwischen den grundlegenden Python-Typen, sodass Werte verglichen, berechnet oder angezeigt werden können.
Umwandlung zu int
int(x) erzeugt eine Ganzzahl.
- Von einem int: gibt die gleiche Zahl zurück;
- Von einem float: schneidet in Richtung Null ab (zum Beispiel gibt
int(2.9)den Wert2zurück,int(-2.9)ergibt-2); - Von einem String: Der String muss eine Ganzzahl darstellen (optionale Leerzeichen und Vorzeichen sind erlaubt).
Python erlaubt auch Unterstriche innerhalb der Ziffern, wie
"1_000"— aber nur, wenn: - Der Unterstrich zwischen Ziffern steht;
- Er nicht am Anfang oder Ende steht (
"_100","100_"); - Er nicht wiederholt oder an einem Dezimalpunkt angrenzt (
"1__000","1_.5").
Gültige Umwandlungen
1234567age_input = " 42 " print(int(age_input)) # 42 print(int(2.9)) # 2 print(int(-2.9)) # -2 print(int("7")) # 7 print(int(" -15 ")) # -15 print(int("1_00_0")) # 1000
Diese führen zu ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Umwandlung zu float
float(x) erzeugt eine Fließkommazahl.
- Funktioniert für Ganzzahlen und Zeichenketten im Dezimal- oder wissenschaftlichen Notationsformat (
"3.14","1e2","5E-3"); - Kommas sind in Python keine Dezimaltrennzeichen (
"2,5","2.5"); - Python erlaubt Unterstriche innerhalb von Ziffern in numerischen Zeichenketten, aber nur wenn:
- Der Unterstrich zwischen Ziffern steht;
- Er nicht am Anfang oder Ende steht (
"_3.14","3.14_"); - Er nicht an den Dezimalpunkt angrenzt oder mehrfach vorkommt (
"3_.14","3.__14"); - Die wissenschaftliche Notation muss diese Regeln ebenfalls befolgen (
"1e_3").
Gültige Umwandlungen
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
Diese führen zu ValueError
1float("2,5") # ValueError - use a dot, not a comma
Umwandlung in str
str(x) erzeugt eine menschenlesbare Zeichenketten-Darstellung. F-Strings werden bevorzugt, wenn Nachrichten erstellt werden.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
Umwandlung in bool
bool(x) folgt den Truthiness-Regeln von Python.
- Zahlen:
0istFalse, jede andere Zahl istTrue; - Zeichenketten:
""(leer) istFalse, jede nicht-leere Zeichenkette istTrue(auch"0"und"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Zu vermeidende Fehler
int("2.5")löstValueErroraus – zuerst mitfloat()parsen, dann abschneiden oder runden;- Lokale Gewohnheit:
"2,5"ist ungültig – verwende"2.5"; - Überraschung bei Wahrheitswerten:
bool("0")istTrue– Zeichenketteninhalte bei Bedarf explizit vergleichen, zum Beispiels == "0".
1. Welcher Aufruf löst einen ValueError aus?
2. Wählen Sie die korrekte Aussage aus.
War alles klar?
Danke für Ihr Feedback!
Abschnitt 4. Kapitel 1
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Großartig!
Completion Rate verbessert auf 3.45Abschnitt 4. Kapitel 1