8.2 KiB
Getting started-Präsentation
- Die
print()Funktion:print()ist eine eingebaute Funktion. Sie nimmt Daten entgegen, wandelt sie intern in Text um und sendet sie an den Standard-Ausgabekanal (die Konsole). - Automatischer Zeilenumbruch: Jede
print()Anweisung schließt standardmäßig mit einem unsichtbaren Zeilenumbruch-Zeichen (\\n) ab. Deshalb landen aufeinanderfolgende Aufrufe in neuen Zeilen. - Strings (Zeichenketten): Text muss zwingend in Anführungszeichen (entweder
"..."oder'...') stehen. Vergisst man diese, sucht Python nach einer Variable mit diesem Namen und wirft einen Fehler (NameError).
Python
print("Hallo")
print("Python")
Ausgabe:
Plaintext
Hallo
Python
2. Variablen, Datentypen & Rechenoperationen
Variablen als Wegweiser
name = "Max"
age = 22
height = 1.80
student = True
Die vier wichtigsten Basis-Datentypen:
- String (
str): Textdaten, z. B."Max". - Integer (
int): Ganzzahlen ohne Komma, z. B.22. Kann beliebig groß werden. - Float (
float): Gleitkommazahlen, z. B.1.80. Wichtig: In der Programmierung wird das englische System mit einem Punkt statt einem Komma genutzt! - Boolean (
bool): Wahrheitswerte, existieren nur alsTrueoderFalse. Wichtig für logische Entscheidungen.
Dynamische Typisierung
Python erkennt den Datentyp automatisch anhand des zugewiesenen Wertes. Man muss nicht vorab definieren, ob eine Variable ein int oder ein str ist. Man kann einer Variable später sogar einen völlig anderen Datentyp zuweisen (obwohl man das im Sinne der Lesbarkeit vermeiden sollte).
Typumwandlung
Manchmal liegen Daten im falschen Typ vor (z. B. eine Zahl, die als Text "42" aus einer Datei gelesen wurde). Mit Casting-Funktionen konvertiert man diese manuell:
Python
text_zahl = "42"
echte_zahl = int(text_zahl) # Macht aus dem String einen echten Integer
komma_zahl = float("3.14") # Macht aus dem String einen Float
text_wieder = str(100) # Macht aus der Zahl 100 den String "100"
Mathematische Rechenoperationen
Python beherrscht neben den Grundrechenarten mächtige Operatoren für den Programmieralltag:
a = 10
b = 3
print("Addition:", a + b) # 13
print("Subtraktion:", a - b) # 7
print("Multiplikation:", a * b) # 30
print("Normale Division:", a / b) # 3.3333333333333335 (Ergebnis ist IMMER ein Float!)
# Fortgeschrittene Operatoren:
print("Ganzzahldivision:", a // b) # 3 (Schneidet alle Kommastellen rigoros ab)
print("Exponent (Hoch-Rechnen):", a ** b) # 1000 (10 hoch 3)
# Der Modulo-Operator (%) - Berechnet den Rest einer Division
print("Modulo Rest:", a % b) # 1 (Weil 10 geteilt durch 3 gleich 3 ist, mit Rest 1)
3. Arbeiten mit Listen
Listen sind geordnete, veränderbare Sammlungen von Elementen. Sie können beliebig wachsen und schrumpfen.
Indexierung (Zugriff auf Elemente)
Der Zugriff erfolgt über eckige Klammern []. Python nutzt ein 0-basiertes Indexsystem (das erste Element hat den Index 0).
Python erlaubt auch negative Indexierung, um vom Ende der Liste rückwärts zu zählen.
fruechte = ["Apfel", "Banane", "Orange"]
print("Erstes Element:", fruechte[0]) # Apfel
print("Letztes Element:", fruechte[-1]) # Orange (Index -1 ist immer das letzte Element)
Wichtige Listen-Operationen & Methoden
fruechte = ["Apfel", "Banane"]
# Element am Ende hinzufügen
fruechte.append("Mango")
# Element an einer exakten Position einschieben (Index, Objekt)
fruechte.insert(1, "Kiwi") # Schiebt "Kiwi" an Index 1, "Banane" rutscht nach hinten
# Element über den Namen löschen (entfernt das erste Vorkommen)
fruechte.remove("Apfel")
# Das letzte Element entfernen und gleichzeitig zurückgeben
letztes = fruechte.pop()
print("Verbleibende Liste:", fruechte)
print("Entferntes Element:", letztes)
4. Dictionaries
Dictionaries speichern Daten in Schlüssel-Wert-Paaren (Key-Value). Unter der Haube arbeiten sie als Hash-Tables, wodurch Abfragen extrem schnell ausgeführt werden – unabhängig davon, wie groß das Dictionary ist.
auto = {
"marke": "BMW",
"modell": "M3",
"baujahr": 2022
}
# Zugriff über den Schlüssel
print("Modell:", auto["modell"])
5. Sets & Tuples (Mengen und unveränderliche Listen)
Tuples (Tupel)
Ein Tuple wird mit runden Klammern geschrieben. Es ist nach der Erstellung unveränderlich (immutable). Elemente können weder hinzugefügt, entfernt noch überschrieben werden.
ordnungssystem = ("Nord", "Süd", "Ost", "West")
- Praxisnutzen: Datensicherheit. Sie garantieren im Code, dass diese Werte fix geschützt sind.
- Tuple Unpacking: Man kann Werte eines Tuples elegant in einzelne Variablen entpacken.
koordinaten = (49.48, 8.46)
breitengrad, laengengrad = koordinaten
print("Breite:", breitengrad)
print("Länge:", laengengrad)
Sets (Mengen)
Ein Set wird mit geschweiften Klammern geschrieben, enthält aber keine Schlüssel-Wert-Paare, sondern nur einzelne Werte. Ein Set ist ungeordnet und enthält jedes Element garantiert nur einmal (Duplikate werden automatisch gelöscht).
Python
zahlen_set = {5, 1, 2, 2, 3, 3, 3, 4}
print("Set filtert Duplikate:", zahlen_set) # {1, 2, 3, 4, 5}
6. Logik & Schleifen (Control Flow)
Wahrheitswert
In Python evaluieren nicht nur Booleans (True/False) in Bedingungen. Jedes Objekt besitzt eine eingebaute Wahrheit.
- Als
Falsegilt: Die Zahl0, leere Strings"", leere Listen[], leere Dictionaries{}und das ObjektNone. - Als
Truegilt: Alles, was Inhalt besitzt oder einen Wert ungleich Null hat.
Python
eingabe = "" # Ein leerer String
if not eingabe:
print("Fehler: Es wurde nichts eingegeben!")
Bedingungen (if, elif, else)
Python
note = 2
if note == 1:
print("Ausgezeichnet")
elif note == 2 or note == 3:
print("Bestanden")
else:
print("Nicht bestanden")
Schleifen
For-Schleife
Verwendet man, wenn vorab bekannt ist, wie oft etwas wiederholt werden soll oder wenn eine Kollektion durchlaufen wird.
# range(start, stop) läuft vom Start-Wert bis exklusive Stop-Wert
for zaehler in range(1, 4):
print("Durchgang Nummer:", zaehler)
While-Schleife (Bedingungs-gesteuert)
Läuft unendlich lange, solange eine Bedingung auf True steht. Wichtig: Die Bedingung muss innerhalb der Schleife irgendwann geändert werden, sonst entsteht eine Endlosschleife.
countdown = 3
while countdown > 0:
print("Countdown:", countdown)
countdown = countdown - 1 # Bedingung verändern
Schleifensteuerung: break und continue
continuebricht den aktuellen Durchlauf ab und springt sofort zum nächsten Element.breakbricht die komplette Schleife sofort rigoros ab.
for nummer in range(1, 6):
if nummer == 3:
continue # Die 3 wird übersprungen
if nummer == 5:
break # Bei 5 wird die komplette Schleife beendet
print("Aktuelle Nummer:", nummer)
Ausgabe:
Aktuelle Nummer: 1
Aktuelle Nummer: 2
Aktuelle Nummer: 4
7. Funktionen
Funktionen kapseln Code-Blöcke, um Redundanzen zu vermeiden (DRY-Prinzip: Don't Repeat Yourself).
Parameter mit Standardwerten (Default Parameters)
Man kann Parametern Vorbelegungen mitgeben. Werden diese beim Aufruf weggelassen, greift der Standardwert.
def begrüßung(name="Gast"):
print("Hallo,", name)
begrüßung("Julia") # Ausgabe: Hallo, Julia
begrüßung() # Ausgabe: Hallo, Gast
Der fundamentale Unterschied: print vs. return
Ein häufiger Konzeptfehler:
print()wirft Daten nur visuell für den Menschen auf den Bildschirm. Das Programm kann mit diesem Wert danach nicht weiterarbeiten.returnschickt ein echtes Datenobjekt zurück an die Stelle, wo die Funktion aufgerufen wurde. Der Wert kann in einer Variable gespeichert und weiterverwendet werden. Eine Funktion bricht sofort ab, sobald einreturnerreicht wird.
Python
def berechne_quadrat(zahl):
ergebnis = zahl * zahl
return ergebnis # Gibt das mathematische Objekt zurück
# Wert abfangen und in neuer Variable speichern
meine_quadratzahl = berechne_quadrat(5)
# Jetzt können wir mit der Variable weiterrechnen!
print("Das Doppelte der Quadratzahl ist:", meine_quadratzahl * 2) # 50