Grundlagen der Typumwandlung
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.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain more about how underscores work in numeric strings?
What happens if I try to convert a string with spaces or special characters to int or float?
Can you show examples of converting between these types in more complex scenarios?
Großartig!
Completion Rate verbessert auf 3.45
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.
Danke für Ihr Feedback!