Python Schulung Grundlagen
-
Worauf fokussieren wir in der Python Schulung?
In der Python Schulung verbinden wir saubere Sprachelemente mit praxisnahen Aufgaben: Daten einlesen, transformieren, auswerten und automatisieren. Wir legen Wert auf lesbaren Code (PEP 8), kleine Funktionen, Tests und reproduzierbare Umgebungen (venv).
Beispielcode aus der Python Schulung:
# Mini-Beispiel aus der Python Schulung name = 'SemaTrain' print(f'Willkommen zur Python Schulung bei {name}!')
-
Wie strukturieren wir Code in der Python Schulung?
Python steuert Blöcke über Einrückungen statt Klammern. In der Python Schulung nutzen wir 4 Leerzeichen als Standard und vermeiden gemischte Einrückungen.
Beispielcode aus der Python Schulung:
for i in range(3): print('Tag', i+1)
-
Welche Basisdatentypen nutzen wir häufig in der Python Schulung?
Integers, Floats, Booleans und Strings bilden das Fundament. Wir üben Umwandlungen (str(), int(), float()) und nutzen Typannotationen für bessere Lesbarkeit.
Beispielcode aus der Python Schulung:
tage: int = 4 online: bool = True preis: float = 450.0 kurs: str = 'Python Grundlagen'
-
Wie wählen wir in der Python Schulung die passende Datenstruktur?
Liste: geordnete Sammlung; Tupel: unveränderliche Gruppe; Set: einzigartige Elemente; Dict: Schlüssel→Wert. Wir wählen nach Zugriffsmuster, Änderungsbedarf und Speicherverhalten.
Beispielcode aus der Python Schulung:
teilnehmer = ['Anna', 'Bernd', 'Carla'] tage = (1, 2, 3, 4) themen = {'Syntax', 'Funktionen', 'Pandas'} agenda = {'Tag1': 'Syntax', 'Tag2': 'Funktionen'}
-
Wie treffen wir Entscheidungen in der Python Schulung?
Mit if/elif/else steuern wir den Ablauf. Wir achten auf sprechende Bedingungen, nutzen truthy/falsy bewusst und vermeiden verschachtelte Kaskaden.
Beispielcode aus der Python Schulung:
ist_online = True if ist_online: ort = 'Online' else: ort = 'Hamburg'
-
Wann nutzen wir welche Schleife in der Python Schulung?
for für Iteration über Sequenzen/Iteratoren, while für bedingte Wiederholung. Wir bevorzugen for und List Comprehensions für deklarative Datentransformationen.
Beispielcode aus der Python Schulung:
themen = ['Syntax', 'Funktionen', 'Pandas'] for t in themen: print('Thema:', t)
-
Wie schreiben wir Funktionen in der Python Schulung?
Kleine, fokussierte Funktionen mit klaren Parametern, Rückgabe und Docstring. Vorbedingungen früh prüfen, Fehler klar melden.
Beispielcode aus der Python Schulung:
def tagespreis(preis_pro_tag: float, tage: int) -> float: """Berechnet den Gesamtpreis der Python Schulung.""" if tage <= 0: raise ValueError('tage > 0') return preis_pro_tag * tage
-
Warum setzen wir Comprehensions in der Python Schulung ein?
Comprehensions drücken Transformation + Filter kompakt und lesbar aus. Wir verwenden sie, wenn eine Zeile die Intention klar transportiert.
Beispielcode aus der Python Schulung:
namen = ['anna', 'bernd', 'carla'] upper = [n.upper() for n in namen if n.startswith('a')]
-
Wie strukturieren wir Module und Imports in der Python Schulung?
Wir teilen Code in Module/Packages, importieren gezielt statt wildcards und gruppieren Imports konsistent. Absolute Imports bevorzugt, relative sparsam.
Beispielcode aus der Python Schulung:
from pathlib import Path import json
-
Wie managen wir Abhängigkeiten in der Python Schulung?
Mit virtuellen Umgebungen (venv) isolieren wir Pakete pro Projekt; pip installiert gezielt. Versionen frieren wir in requirements.txt ein.
Beispielcode aus der Python Schulung:
python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install pandas==2.2.2 pip freeze > requirements.txt
-
Wie arbeiten wir mit Dateien in der Python Schulung?
Mit Context Manager (with open(...)) sind Dateien sicher geöffnet/geschlossen. Wir achten auf Encodings und nutzen pathlib für portable Pfade.
Beispielcode aus der Python Schulung:
from pathlib import Path pfad = Path('teilnehmer.txt') with pfad.open('r', encoding='utf-8') as f: for zeile in f: print(zeile.strip())
-
Wie behandeln wir Fehler in der Python Schulung?
Gezielt abfangen, klare Messages, nicht alles pauschal try/except. Eigene Exception-Klassen bei Bedarf; Logging statt print für Diagnosen.
Beispielcode aus der Python Schulung:
try: betrag = float('450,00') # löst ValueError aus except ValueError as ex: print('Ungültiger Betrag:', ex)
-
Wie protokollieren wir sinnvoll in der Python Schulung?
Wir nutzen das logging-Modul mit Leveln (INFO/WARNING/ERROR) und strukturierten Nachrichten. Konfiguration zentral; keine sensiblen Daten loggen.
Beispielcode aus der Python Schulung:
import logging logging.basicConfig(level=logging.INFO) logging.info('Start Python Schulung')
-
Wann setzen wir RegEx in der Python Schulung ein?
Für robuste Textsuche/Validierung (E-Mail, IDs). Wir kapseln Muster und testen Randfälle mit Beispielen.
Beispielcode aus der Python Schulung:
import re mail = 'anna@example.org' ok = bool(re.fullmatch(r'[^@]+@[^@]+\.[^@]+', mail))
-
Wie tauschen wir Daten in der Python Schulung aus?
Mit json/csv aus der Standardbibliothek; bei größeren Datenmengen mit Pandas. Wir achten auf Dialekte, Trennzeichen und Unicode.
Beispielcode aus der Python Schulung:
import json, csv data = json.loads('{"kurs":"Python"}') with open('teilnehmer.csv','w',newline='',encoding='utf-8') as f: w = csv.writer(f, delimiter=';') w.writerow(['name','email'])
-
Warum folgen wir PEP 8 in der Python Schulung?
Gemeinsamer Stil erhöht Lesbarkeit und Teamgeschwindigkeit. Wir nutzen Formatter/Checker (black, ruff) und Typchecker (mypy).
Beispielcode aus der Python Schulung:
pip install black ruff mypy black . ruff check . mypy src/
Python Schulung Fortgeschritten
-
Wie nutzen wir OOP in der Python Schulung sinnvoll?
Wir modellieren domänennah, halten Klassen klein und bevorzugen Komposition vor Vererbung. Datentransfer ab Python 3.7+ oft als dataclass.
Beispielcode aus der Python Schulung:
class Kurs: def __init__(self, titel: str, tage: int) -> None: self.titel = titel self.tage = tage
-
Warum nutzen wir dataclasses in der Python Schulung?
dataclass reduziert Boilerplate für einfache Datencontainer und integriert gut mit Typprüfern.
Beispielcode aus der Python Schulung:
from dataclasses import dataclass @dataclass(frozen=True) class Teilnehmer: name: str email: str
-
Wie setzen wir Typen in der Python Schulung ein?
Optionale Typen verbessern Tooling und Verständlichkeit. Wir nutzen builtins (list[str], dict[str,int]) sowie Optional/Union.
Beispielcode aus der Python Schulung:
from typing import Optional def finde(name: str, namen: list[str]) -> Optional[int]: try: return namen.index(name) except ValueError: return None
-
Wann nutzen wir Generatoren in der Python Schulung?
Für speichereffiziente Pipelines (lazy). yield ermöglicht Streams ohne Listenmaterialisierung.
Beispielcode aus der Python Schulung:
def zeilen(pfad): with open(pfad, encoding='utf-8') as f: for z in f: yield z.strip()
-
Wie nutzen wir Dekoratoren in der Python Schulung?
Dekoratoren kapseln Querschnittsaufgaben (Caching, Timing, Auth). Wir achten auf functools.wraps für Erhalt von Metadaten.
Beispielcode aus der Python Schulung:
import time, functools def timed(fn): @functools.wraps(fn) def inner(*a, **kw): t0 = time.perf_counter() try: return fn(*a, **kw) finally: print('dauer:', time.perf_counter()-t0) return inner
-
Wie testen wir Code in der Python Schulung?
Kleine, deterministische Tests nach Arrange–Act–Assert. pytest für lesbare Assertions und Fixtures; CI optional als Bonus.
Beispielcode aus der Python Schulung:
def test_tagespreis(): assert tagespreis(450.0, 4) == 1800.0
-
Wie starten wir mit Pandas in der Python Schulung?
DataFrames für tabellarische Daten: Einlesen, Filtern, Gruppieren, Export. Wir üben idiomatische, vektorisierte Operationen statt Python-Schleifen.
Beispielcode aus der Python Schulung:
import pandas as pd df = pd.read_csv('teilnehmer.csv', sep=';') df = df[df['name'].str.startswith('A')]
-
Wofür verwenden wir NumPy in der Python Schulung?
Für numerische Arrays und Vektoroperationen, als Basis vieler Daten-/ML-Bibliotheken. Wir zeigen Zusammenspiel mit Pandas.
Beispielcode aus der Python Schulung:
import numpy as np a = np.array([1,2,3,4], dtype=float) b = a * 1.19
-
Wie visualisieren wir Daten in der Python Schulung?
Mit Matplotlib erzeugen wir schnelle Diagramme; für Bequemlichkeit oft pandas.DataFrame.plot(). Wir achten auf Achsen, Labels und klare Botschaften pro Chart.
Beispielcode aus der Python Schulung:
import matplotlib.pyplot as plt werte = [3,4,2,5] plt.plot(werte) plt.title('Buchungen/Tag')
-
Wie sprechen wir Datenbanken in der Python Schulung an?
Für schnelle Exercises: sqlite3 (Standardbibliothek). Für Portabilität/ORM: SQLAlchemy (Core/ORM). Wir demonstrieren sichere Parametrisierung und Verbindungspools.
Beispielcode aus der Python Schulung:
import sqlite3 con = sqlite3.connect(':memory:') cur = con.cursor() cur.execute('CREATE TABLE teilnehmer(name TEXT)') cur.execute('INSERT INTO teilnehmer VALUES (?)', ('Anna',)) con.commit()
-
Wie konsumieren wir Web-APIs in der Python Schulung?
Mit requests rufen wir REST-Endpunkte ab und verarbeiten JSON. Timeouts, Retry-Strategien und Fehlerprüfung gehören dazu.
Beispielcode aus der Python Schulung:
import requests resp = requests.get('https://api.example.org/courses', timeout=5) resp.raise_for_status() data = resp.json()
-
Wie starten wir Web-Apps in der Python Schulung?
Mit Flask zeigen wir den minimalen Einstieg: Routing, Templates und JSON-Antworten. Für wachsende Apps empfehlen wir Blueprints und ein klares Projektlayout.
Beispielcode aus der Python Schulung:
from flask import Flask, jsonify app = Flask(__name__) @app.get('/ping') def ping(): return jsonify({'ok': True})
-
Wann hilft AsyncIO in der Python Schulung?
Bei vielen I/O-gebundenen Tasks (HTTP, Dateien, Sockets). Wir erklären Event-Loop, await und Task-Koordination – und wann CPU-Bound Alternativen brauchen.
Beispielcode aus der Python Schulung:
import asyncio async def hello(): await asyncio.sleep(0.1) return 'hi' print(asyncio.run(hello()))
-
Wie parallelisieren wir in der Python Schulung?
Threads für I/O-Bound, Multiprocessing für CPU-Bound Workloads. Wir berücksichtigen GIL, Prozesse vs. Threads und sichere Kommunikation.
Beispielcode aus der Python Schulung:
from concurrent.futures import ThreadPoolExecutor def download(url: str) -> bytes: ... with ThreadPoolExecutor() as ex: results = list(ex.map(download, ['u1','u2']))
-
Warum nutzen wir pathlib in der Python Schulung?
Pfadobjekte sind portabel und lesbarer als String-Pfad-Bastelei. Globbing, Joinen, Lesen/Schreiben sind integriert.
Beispielcode aus der Python Schulung:
from pathlib import Path for p in Path('data').glob('*.csv'): print(p.name)
-
Wie konfigurieren wir Anwendungen in der Python Schulung?
Wir lesen Settings aus Umgebungsvariablen/.env und vermeiden Hardcoding. Secrets gehören in sichere Stores – nicht ins Repo.
Beispielcode aus der Python Schulung:
import os dsn = os.getenv('DATABASE_URL', 'sqlite:///local.db')
-
Wie strukturieren und paketieren wir Projekte in der Python Schulung?
Mit pyproject.toml und src-Layout. Wir definieren Abhängigkeiten und nutzen Build-Tools (pip, hatch/poetry – je nach Team).
Beispielcode aus der Python Schulung:
[project] name = 'seminar-tools' version = '0.1.0' requires-python = '>=3.10'
-
Was bringt itertools in der Python Schulung?
Bausteine für effiziente Iterator-Pipelines (chain, groupby, islice). Wir ersetzen damit oft Hilfslisten und sparen Speicher.
Beispielcode aus der Python Schulung:
from itertools import islice first_ten = list(islice(range(1000), 10))
-
Welche Performance-Tipps geben wir in der Python Schulung?
Erst messen, dann optimieren (time/perf_counter, cProfile). Vektorisierung mit NumPy/Pandas, passende Datenstrukturen, I/O bündeln.
Beispielcode aus der Python Schulung:
import time t0 = time.perf_counter() # ... Arbeit ... print('dauer:', time.perf_counter()-t0)
-
Welche Sicherheitsaspekte streifen wir in der Python Schulung?
Eingaben validieren, Parametrisierung bei DB/HTTP, Secrets schützen, abhängige Pakete prüfen und aktualisieren (z. B. pip-audit).
Beispielcode aus der Python Schulung:
pip install pip-audit pip-audit