- 1 Section
- 10 Lessons
- unbegrenzt
- Python Grundlagen10
- 1.1Python-Grundlagen: Installation, REPL, erstes Skript
- 1.2Variablen, Datentypen, Typumwandlung
- 1.3Kontrollstrukturen: if, elif, else
- 1.4Schleifen: for, while, range
- 1.5Listen, Tupel, Dictionaries, Sets
- 1.6Funktionen: def, Parameter, return
- 1.7Fehlerbehandlung: try-except-finally
- 1.8Strings: Methoden, Formatierung, f-Strings
- 1.9Dateien lesen und schreiben
- 1.10Praxisprojekt: Kleines Python-Programm von A bis Z
Variablen, Datentypen, Typumwandlung
In jeder Programmiersprache musst du Daten in Variablen speichern und damit arbeiten. Python macht das besonders einfach – du musst keinen Typ angeben. Eine Variable kann heute eine Zahl sein und morgen einen Text enthalten. Das nennt sich dynamische Typisierung und ist einer der größten Unterschiede zu Java, das alles vorher festlegen lässt.
Klingt erstmal sehr bequem – ist es auch. Aber: was Python dem Programmierer abnimmt, muss man im Kopf behalten. Wenn eine Variable ihren Typ wechseln kann, kann man sich auch leichter vertun. Diese Lektion zeigt dir die Datentypen und Operatoren von Python und wie du sicher damit umgehst.
1) Variablen – einfach zuweisen, kein Typ nötig
In Python gibt es kein int, String oder ähnliches vor dem Variablennamen. Du schreibst einfach Name = Wert. Python merkt sich den Typ automatisch anhand des Werts:
Brauchst du den Typ einer Variable? Frag Python mit type(): type(alter) liefert <class 'int'>. Namens-Konvention: snake_case – alles klein, Wörter durch Unterstrich getrennt (z.B. max_punkte, user_name). Das ist anders als in Java wo camelCase Standard ist.
2) Dynamische Typisierung in Aktion
Eine Python-Variable ist mehr ein Label als eine Schachtel. Du kannst dasselbe Label heute auf einen int kleben, morgen auf einen String. Drück „Nächster Schritt" und sieh wie x seinen Typ wechselt:
alter: int = 25 – Python ignoriert sie zur Laufzeit, aber Tools wie mypy oder die IDE können sie prüfen.3) Die wichtigsten Datentypen
Python hat eine Handvoll eingebauter Datentypen. Hier die, die du am meisten brauchen wirst. int, float, str, bool sind „skalare" Werte (ein Wert), list, dict, tuple, set sind Container für viele Werte (siehe Lektion 5):
zeilig"""
int-Zahlen beliebig groß. Du kannst problemlos mit 2**1000 rechnen – Python erweitert intern automatisch. Java würde dafür einen BigInteger brauchen. 1_000_000 mit Unterstrichen als Tausender-Trenner ist erlaubt – Python ignoriert sie, du liest es besser. Praktisch für lange Zahlen.4) Typumwandlung (Casting)
Du brauchst oft Typ-Konvertierungen: User-Eingabe ist immer ein String, du brauchst aber eine Zahl. Oder du willst eine Zahl in einen Text einbauen. Python hat dafür einfache Funktionen:
0, 0.0, "", None, False, [] (leere Liste) oder {} (leeres Dict) ist. Alles andere zählt als True. Das ist anders als in Java! Sehr nützlich für kompakte Prüfungen wie if name: statt if name != "":. Schiefgegangene Konvertierungen werfen einen ValueError – also try-except dafür einplanen.5) Operatoren
Python hat die üblichen Operatoren – mit ein paar Besonderheiten. Besonders der Division solltest du Aufmerksamkeit schenken: anders als Java macht Python / immer eine Kommazahl-Division, und für Ganzzahl-Division gibt es //:
18 <= alter < 65 schreiben – Python macht daraus automatisch 18 <= alter and alter < 65. In Java geht das nicht. Wenn du auf None prüfst, verwende is None statt == None – das ist Best Practice. Und merke: in Python heißen die Logik-Operatoren and, or, not – nicht &&, ||, !.6) User-Input lesen
Mit der Funktion input() kannst du eine Eingabe vom Benutzer lesen. Wichtig: input liefert IMMER einen str, auch wenn der Benutzer eine Zahl eintippt. Du musst selbst konvertieren:
Wenn der Benutzer „abc" statt einer Zahl eintippt, wirft int(...) einen ValueError. Robuste Eingabe-Verarbeitung lernst du in Lektion 7 – Fehlerbehandlung.
7) Konstanten
Python hat keine „echten" Konstanten wie Java mit final. Stattdessen ist es Konvention: Variablen die Konstanten sein sollen, schreibst du komplett groß mit Unterstrichen. Andere Programmierer wissen dann: „die ändert man nicht":
Zusammenfassung
Python ist dynamisch typisiert: keine Typ-Angabe nötig, eine Variable kann ihren Typ wechseln. Wichtige Typen: int (beliebig groß!), float, str, bool (mit Großbuchstaben), None. Casting mit int(), float(), str(), bool(). Truthiness: 0, "", None, [] sind „falsy". Operatoren: / ist float-Division, // ist int-Division, ** ist Potenz, % ist Rest. Logik mit Wörtern: and, or, not. Identität mit is. Eingabe mit input() – Ergebnis IMMER str, ggf. konvertieren. Naming: snake_case für Variablen, UPPER_CASE für Konstanten.
