Python-Grundlagen: Syntax und Datenstrukturen
Ein Junior Python-Entwickler sollte die grundlegenden Konzepte der Sprache sicher beherrschen. Die Kenntnis der grundlegenden Syntax ist die Basis, auf der die gesamte weitere Programmierkarriere aufbaut.
Variablen und Datentypen
Python unterstützt eine Vielzahl integrierter Datentypen, die jeweils ihre eigenen Besonderheiten haben:
- int — ganze Zahlen (z. B. 42, -7)
- float — Gleitkommazahlen (3.14, -2.5)
- str — Textzeichenfolgen ("Hallo", 'Python')
- bool — boolesche Werte (True, False)
- list — geordnete, veränderbare Sammlungen [1, 2, 3]
- tuple — unveränderbare Sammlungen (1, 2, 3)
- dict — Wörterbücher mit Schlüssel-Wert-Paaren {"name": "Max"}
- set — Mengen eindeutiger Elemente {1, 2, 3}
Bedingte Anweisungen und Schleifen
Die Steuerung des Programmablaufs ist eine entscheidende Fähigkeit:
# Bedingte Anweisungen
alter = 25
if alter >= 18:
print("Volljährig")
elif alter >= 13:
print("Jugendlicher")
else:
print("Kind")
# Schleifen
for i in range(5):
print(f"Iteration {i}")
zahlen = [1, 2, 3, 4, 5]
while zahlen:
print(zahlen.pop())
Funktionen und Parameter
Funktionen sind das Herzstück der modularen Programmierung. Ein Junior-Entwickler sollte die verschiedenen Arten der Parameterübergabe verstehen:
def berechne_rabatt(preis, rabatt=0.1, *args, **kwargs):
"""Berechnet den Preis mit Rabatt"""
endpreis = preis * (1 - rabatt)
if kwargs.get('vip_kunde'):
endpreis *= 0.95
return endpreis
# Verwendung
ergebnis = berechne_rabatt(1000, 0.2, vip_kunde=True)
Dateiverarbeitung
Die Fähigkeit, Dateien zu lesen und zu schreiben, ist für die meisten praktischen Aufgaben notwendig:
# Datei lesen
with open('daten.txt', 'r', encoding='utf-8') as datei:
inhalt = datei.read()
# In Datei schreiben
with open('ausgabe.txt', 'w', encoding='utf-8') as datei:
datei.write("Ergebnis der Verarbeitung")
Datenstrukturen: Die optimale Wahl treffen
Zu verstehen, wann welche Datenstruktur verwendet wird, unterscheidet einen guten Programmierer von einem Anfänger.
| Struktur | Beschreibung | Wann verwenden | Zugriffskomplexität |
|---|---|---|---|
| List | Geordnete, veränderbare Sammlung | Wenn Reihenfolge und Änderungen wichtig sind | O(1) per Index |
| Tuple | Unveränderbare, geordnete Sammlung | Für konstante Daten | O(1) per Index |
| Dict | Schlüssel-Wert-Paare | Schnelle Suche nach Schlüssel | O(1) im Durchschnitt |
| Set | Eindeutige Elemente | Duplikate entfernen, Mitgliedschaft prüfen | O(1) im Durchschnitt |
Praktische Anwendungsbeispiele
# Liste zum Speichern des Operationsverlaufs
operations_verlauf = []
operations_verlauf.append("Datei erstellt")
operations_verlauf.append("Bearbeitet")
# Tuple für Koordinaten (unveränderbar)
koordinaten = (10.5, 20.3)
# Dictionary für Konfiguration
konfig = {
"datenbank_url": "localhost:5432",
"debug": True,
"max_verbindungen": 100
}
# Set für eindeutige Tags
tags = {"python", "programmierung", "tutorial"}
Objektorientierte Programmierung (OOP)
OOP ist ein Programmierparadigma, ohne das die Arbeit an großen Projekten schwierig ist. Ein Junio