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).
Gültige Umwandlungen
12345678910# Converting different types of user input to integers age_input = " 42 " temperature_reading = 2.9 negative_balance = -2.9 print(int(age_input)) # 42 → clean string converted to int print(int(temperature_reading)) # 2 → fractional part truncated print(int(negative_balance)) # -2 → also truncates toward zero print(int("7")) # 7 → string number becomes integer print(int(" -15 ")) # -15 → handles spaces and sign
Diese lösen ValueError aus
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Umwandlung zu float
float(x) erzeugt eine Fließkommazahl.
- Funktioniert für Ganzzahlen sowie für Zeichenketten mit Dezimal- oder wissenschaftlicher Notation;
- Kommas sind in Python keine Dezimaltrennzeichen.
Gültige Umwandlungen
12345678# Converting numeric inputs for a shopping calculator quantity = 3 price_str = "2.5" discount_factor = "1e3" # scientific notation for 1000 print(float(quantity)) # 3.0 → integer converted to float print(float(price_str)) # 2.5 → string price converted to float print(float(discount_factor)) # 1000.0 → converts from scientific notation
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.
12345678910# Formatting a student's exam result student_age = 42 average_score = 3.5 print(str(student_age)) # "42" → number converted to string print(str(average_score)) # "3.5" → float converted to string student_name, final_score = "Ada", 98 report_message = f"{student_name} scored {final_score} points on the exam." print(report_message)
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").
123456789101112# Checking how different user inputs behave as boolean values login_attempts = 0 notifications = 7 username = "" user_id = "0" status = "False" print(bool(login_attempts)) # False → 0 means no attempts yet print(bool(notifications)) # True → non-zero means new notifications print(bool(username)) # False → empty string means no username entered print(bool(user_id)) # True → any non-empty string is truthy print(bool(status)) # True → text "False" is still a non-empty string
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"; - Unterstriche in Eingabezeichenketten:
"1_000"ist ungültig – Unterstriche zuerst entfernen:"1_000".replace("_", ""); - Überraschung bei Wahrheitswerten:
bool("0")istTrue– Zeichenketteninhalt bei Bedarf explizit vergleichen, zum Beispiels == "0".
1. Was ergibt jede Zeile?
2. Welcher Aufruf löst einen ValueError aus?
3. Wählen Sie die korrekte Aussage.
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
Großartig!
Completion Rate verbessert auf 5.26
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).
Gültige Umwandlungen
12345678910# Converting different types of user input to integers age_input = " 42 " temperature_reading = 2.9 negative_balance = -2.9 print(int(age_input)) # 42 → clean string converted to int print(int(temperature_reading)) # 2 → fractional part truncated print(int(negative_balance)) # -2 → also truncates toward zero print(int("7")) # 7 → string number becomes integer print(int(" -15 ")) # -15 → handles spaces and sign
Diese lösen ValueError aus
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Umwandlung zu float
float(x) erzeugt eine Fließkommazahl.
- Funktioniert für Ganzzahlen sowie für Zeichenketten mit Dezimal- oder wissenschaftlicher Notation;
- Kommas sind in Python keine Dezimaltrennzeichen.
Gültige Umwandlungen
12345678# Converting numeric inputs for a shopping calculator quantity = 3 price_str = "2.5" discount_factor = "1e3" # scientific notation for 1000 print(float(quantity)) # 3.0 → integer converted to float print(float(price_str)) # 2.5 → string price converted to float print(float(discount_factor)) # 1000.0 → converts from scientific notation
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.
12345678910# Formatting a student's exam result student_age = 42 average_score = 3.5 print(str(student_age)) # "42" → number converted to string print(str(average_score)) # "3.5" → float converted to string student_name, final_score = "Ada", 98 report_message = f"{student_name} scored {final_score} points on the exam." print(report_message)
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").
123456789101112# Checking how different user inputs behave as boolean values login_attempts = 0 notifications = 7 username = "" user_id = "0" status = "False" print(bool(login_attempts)) # False → 0 means no attempts yet print(bool(notifications)) # True → non-zero means new notifications print(bool(username)) # False → empty string means no username entered print(bool(user_id)) # True → any non-empty string is truthy print(bool(status)) # True → text "False" is still a non-empty string
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"; - Unterstriche in Eingabezeichenketten:
"1_000"ist ungültig – Unterstriche zuerst entfernen:"1_000".replace("_", ""); - Überraschung bei Wahrheitswerten:
bool("0")istTrue– Zeichenketteninhalt bei Bedarf explizit vergleichen, zum Beispiels == "0".
1. Was ergibt jede Zeile?
2. Welcher Aufruf löst einen ValueError aus?
3. Wählen Sie die korrekte Aussage.
Danke für Ihr Feedback!