Python Crash Course

Kapitel 2

Variablen und einfache Datentypen

Strings, Zahlen und Grundlagen der Programmierung

Was sind Variablen?

  • Behälter zum Speichern von Werten
  • Haben einen Namen (Bezeichner)
  • Können verschiedene Datentypen speichern
  • Werden mit = zugewiesen
name = "Anna"
alter = 16
groesse = 1.68

Regeln für Variablennamen

  • Müssen mit Buchstaben oder _ beginnen
  • Dürfen Buchstaben, Zahlen und _ enthalten
  • Keine Leerzeichen oder Sonderzeichen
  • Groß-/Kleinschreibung beachten
  • Nicht wie Python-Keywords benennen

Naming Conventions

Unterschiedliche Programmiersprachen verwenden unterschiedliche Konventionen:

🐍 Python (snake_case)

# RICHTIG in Python
benutzer_name = "Max"
lieblings_zahl = 42
anzahl_produkte = 5

❌ In Python vermeiden

# camelCase (Java/JavaScript)
benutzerName = "Max"

# kebab-case (HTML/CSS)
benutzer-name = "Max"

# PascalCase (Klassen)
BenutzerName = "Max"

Gute Variablennamen

✅ Gut:

vorname = "Max"
alter = 17
jahrestag = 2024
user_name = "anna123"

❌ Schlecht:

v = "Max"
a = 17
x = 2024
n = "anna123"

🛠️ Übung 1: Einfache Nachrichten

🔗 jupyter.gymnasium-hummelsbuettel.de

Aufgaben 2-1 bis 2-2:

  • Einfache Nachricht
  • Einfache Nachrichten

→ kapitel_2_aufgaben_2-1_2-2.ipynb

↓ Lösungen

💡 Lösung 2-1

Einfache Nachricht

# Einfache Nachricht
begruessung = "Hallo Max, geht es dir gut?"
print(begruessung)

📄 Ausgabe 2-1

Hallo Max, geht es dir gut?

💡 Lösung 2-2

Einfache Nachrichten

# Einfache Nachrichten
begruessung = "Hallo Max, geht es dir gut?"
print(begruessung)

begruessung = "Hallo Peter, geht es dir gut?"
print(begruessung)

📄 Ausgabe 2-2

Hallo Max, geht es dir gut?
Hallo Peter, geht es dir gut?

Strings (Text)

Serienvon Zeichen in Anführungszeichen

nachricht = "Hallo Welt!"
name = 'Peter Mustermann'
satz = 'Er sagt: "Python ist cool!"'

Anführungszeichen dürfen nicht gemischt werden!

String-Methoden

Strings haben viele nützliche Methoden:

text = "Hallo Python!"

# Länge
print(len(text))  # 13

# Groß-/Kleinschreibung
print(text.upper())  # HALLO PYTHON!
print(text.lower())  # hallo python!
print(text.title())  # Hallo Python!

Whitespace entfernen

name = "  Max Mustermann  "

print(name.lstrip())   # "Max Mustermann  "
print(name.rstrip())   # "  Max Mustermann"
print(name.strip())    # "Max Mustermann"

Nützlich für Benutzereingaben!

f-Strings (Formatierte Strings)

Moderne Art, Variablen in Text einzubetten:

name = "Lisa"
alter = 16
stadt = "Hamburg"

nachricht = f"{name} ist {alter} Jahre alt und wohnt in {stadt}."
print(nachricht)

Ausgabe:

Lisa ist 16 Jahre alt und wohnt in Hamburg.

🛠️ Übung 2: Namen und Zitate

🔗 jupyter.gymnasium-hummelsbuettel.de

Aufgaben 2-3 bis 2-6:

  • Persönliche Nachricht
  • Groß-/Kleinschreibung
  • Bekanntes Zitat
  • Bekanntes Zitat 2

→ kapitel_2_aufgaben_2-3_2-8.ipynb

↓ Lösungen

💡 Lösung 2-3

Persönliche Nachricht

# Persönliche Nachricht
name = "Eric"

print(f"Hallo {name}, möchtest du heute Python lernen?")

📄 Ausgabe 2-3

Hallo Eric, möchtest du heute Python lernen?

💡 Lösung 2-4

Groß- und Kleinschreibung von Namen

# Groß- und Kleinschreibung von Namen
name = "Thomas"

print(name.lower())    # thomas
print(name.upper())    # THOMAS
print(name.title())    # Thomas

📄 Ausgabe 2-4

thomas
THOMAS
Thomas

💡 Lösung 2-5

Bekanntes Zitat

# Bekanntes Zitat
urheber = "Albert Einstein"
zitat = "Wer noch nie einen Fehler gemacht hat, hat noch nie etwas Neues probiert."

print(f'{urheber} hat einmal gesagt: "{zitat}"')

📄 Ausgabe 2-5

Albert Einstein hat einmal gesagt: "Wer noch nie einen Fehler gemacht hat, hat noch nie etwas Neues probiert."

💡 Lösung 2-6

Bekanntes Zitat 2

# Bekanntes Zitat 2
famous_person = "Albert Einstein"
message = "Wer noch nie einen Fehler gemacht hat, hat noch nie etwas Neues probiert."

print(f'{famous_person} hat einmal gesagt: "{message}"')

📄 Ausgabe 2-6

Albert Einstein hat einmal gesagt: "Wer noch nie einen Fehler gemacht hat, hat noch nie etwas Neues probiert."

🛠️ Übung 3: Strings bereinigen

🔗 jupyter.gymnasium-hummelsbuettel.de

Aufgaben 2-7 bis 2-8:

  • Namen bereinigen
  • Dateierweiterungen

→ kapitel_2_aufgaben_2-3_2-8.ipynb

↓ Lösungen

💡 Lösung 2-7

Namen bereinigen

# Namen bereinigen
name = "\t Sebastian \n\t"
print(name)

print(name.lstrip())   # Links bereinigen
print(name.rstrip())   # Rechts bereinigen
print(name.strip())    # Beide Seiten

📄 Ausgabe 2-7

	 Sebastian 

Sebastian 

	 Sebastian
Sebastian

💡 Lösung 2-8

Dateierweiterungen

# Dateierweiterungen
filename = 'python_notes.txt'
print(filename.removesuffix('.txt'))

📄 Ausgabe 2-8

python_notes

Zahlen in Python

  • Integer: Ganze Zahlen 42, -7, 0
  • Float: Dezimalzahlen 3.14, -0.5, 2.0
zahl1 = 17          # Integer
zahl2 = 3.14        # Float
ergebnis = zahl1 + zahl2

Grundrechenarten

print(5 + 3)      # Addition: 8
print(11 - 3)     # Subtraktion: 8
print(4 * 2)      # Multiplikation: 8
print(16 / 2)     # Division: 8.0

Achtung: Division gibt immer einen Float zurück!

🛠️ Übung 4: Rechnen und Zahlen

🔗 jupyter.gymnasium-hummelsbuettel.de

Aufgaben 2-9 bis 2-10:

  • Alles auf 8
  • Lieblingszahl

→ kapitel_2_aufgaben_2-9_2-10.ipynb

↓ Lösungen

💡 Lösung 2-9

Alles auf 8

# Alles auf 8
print(5+3)    # Addition
print(11-3)   # Subtraktion
print(1*8)    # Multiplikation
print(16/2)   # Division

📄 Ausgabe 2-9

8
8
8
8.0

💡 Lösung 2-10

Lieblingszahl

# Lieblingszahl
lieblingszahl = 5

print(f"Meine Lieblingszahl ist {lieblingszahl}.")

📄 Ausgabe 2-10

Meine Lieblingszahl ist 5.

Kommentare

Kommentare helfen, Code zu erklären:

# Das ist ein einzeiliger Kommentar

name = "Max"  # Variable für den Namen

"""
Das ist ein mehrzeiliger Kommentar.
Hier kann man längere Erklärungen schreiben.
"""

The Zen of Python

Die Philosophie hinter Python:

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
...

import this in Python zeigt den vollständigen Zen

Was bedeutet "Pythonic"?

  • Einfachheit: Klare, lesbare Lösungen bevorzugen
  • Eindeutigkeit: Explizit statt implizit
  • Lesbarkeit: Code wird öfter gelesen als geschrieben
  • Pragmatismus: Praktische Lösungen über theoretische Perfektion
  • Konsistenz: Einheitlicher Stil (PEP 8)
"Pythonic code is code that embraces Python's strengths and idioms"

🛠️ Übung 5: Kommentare und Zen

🔗 jupyter.gymnasium-hummelsbuettel.de

Aufgaben 2-11 bis 2-12:

  • Kommentare hinzufügen
  • The Zen of Python

→ kapitel_2_aufgaben_2-11.ipynb & kapitel_2_aufgaben_2-12.ipynb

↓ Lösungen

💡 Lösung 2-11

Kommentare hinzufügen

# Kommentare hinzufügen
# Mein Programm heißt Lieblingszahl. Ich habe es am 26. August erstellt.
# Es gibt meine Lieblingszahl aus.
lieblingszahl = 5
print(f"Meine Lieblingszahl ist {lieblingszahl}.")

# Mein Programm heißt Zahlen. Ich habe es ebenfalls am 26. August erstellt.
# Es zeigt die 4 Grundrechenarten.
print(5+3)
print(11-3)
print(1*8)
print(16/2)

💡 Lösung 2-12

The Zen of Python

# The Zen of Python
import this

Probiere diesen Befehl in Jupyter aus!

Kapitel 2 Zusammenfassung

  • Variablen: Speichern Daten mit =, snake_case verwenden
  • Strings: Text in Anführungszeichen
    • Methoden: .title(), .upper(), .lower()
    • Whitespace: .strip(), .lstrip(), .rstrip()
  • Zahlen: Integer und Float
    • Rechenarten: +, -, *, /
  • f-Strings: f"Hallo {name}"
  • Kommentare: # für Erklärungen
  • Pythonic: Lesbar, einfach, konsistent

💡 Wichtiger Tipp

Gute Variablennamen sind Gold wert!

# Schlecht (nicht aussagekräftig):
a = 16
b = "Hamburg"

# Gut (selbsterklärend):
alter = 16
wohnort = "Hamburg"

Dein zukünftiges Ich wird dir danken! 😊

Fragen?

🐍 Happy Coding!