1/74
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Was ist Python?
• Allgemeine Programmiersprache mit klarer Syntax | • Sehr verbreitet in Data Science, Automatisierung und Webentwicklung | • Großes Ökosystem mit NumPy, pandas und scikit-learn
Was ist der Unterschied zwischen Liste und Tupel?
• Listen sind veränderbar | • Tupel sind unveränderbar | • Tupel eignen sich für feste Strukturen
Was ist ein Dictionary?
• Speichert Schlüssel-Wert-Paare | • Schlüssel müssen hashbar und eindeutig sein | • Zugriff erfolgt typischerweise über den Schlüssel
Was ist ein Set?
• Ungeordnete Sammlung eindeutiger Werte | • Gut für Mengenoperationen und Duplikatentfernung | • Unterstützt Schnittmenge, Vereinigung und Differenz
Was bedeutet mutability?
• Veränderbare Objekte können nach Erstellung geändert werden | • Listen und Dictionaries sind mutable | • Strings und Tupel sind immutable
Was ist der Unterschied zwischen == und is?
• == vergleicht Werte | • is vergleicht Objektidentität | • Für None verwendet man meist is None
Was ist eine List Comprehension?
• Kompakte Syntax zur Erzeugung von Listen | • Kann Transformation und Filter kombinieren | • Soll lesbar bleiben und nicht zu komplex werden
Was ist eine Funktion?
• Wiederverwendbarer Codeblock mit klarer Aufgabe | • Kann Parameter erhalten und Werte zurückgeben | • Verbessert Struktur und Testbarkeit
Was ist der Unterschied zwischen Parameter und Argument?
• Parameter stehen in der Funktionsdefinition | • Argumente werden beim Aufruf übergeben | • Beispiel: def f(x) und f(5)
Was ist Scope?
• Bestimmt, wo Variablen sichtbar sind | • Lokale Variablen gelten innerhalb einer Funktion | • Globale Variablen sollten sparsam genutzt werden
Was ist ein Default-Argument?
• Vorgegebener Parameterwert | • Wird genutzt, wenn kein Argument übergeben wird | • Mutable Default-Argumente vermeiden
Warum sind mutable Default-Argumente problematisch?
• Das Objekt wird nur einmal erzeugt | • Änderungen bleiben zwischen Funktionsaufrufen erhalten | • Besser None verwenden und Objekt innerhalb erzeugen
Was ist *args?
• Sammelt zusätzliche Positionsargumente | • Wird als Tupel bereitgestellt | • Nützlich für flexible Funktionssignaturen
Was ist **kwargs?
• Sammelt zusätzliche benannte Argumente | • Wird als Dictionary bereitgestellt | • Nützlich für flexible Konfiguration
Was ist eine Lambda-Funktion?
• Kurze anonyme Funktion | • Gut für einfache Transformationen | • Komplexe Logik besser als normale Funktion schreiben
Was ist Exception Handling?
• Fängt Laufzeitfehler kontrolliert ab | • Typische Struktur: try, except, finally | • Nicht pauschal alle Fehler verschlucken
Was macht finally?
• Wird unabhängig vom Fehler ausgeführt | • Gut für Aufräumarbeiten | • Beispiel: Datei oder Verbindung schließen
Was ist ein Context Manager?
• Verwaltet Ressourcen automatisch | • Typisch mit with verwendet | • Beispiel: Dateien sicher öffnen und schließen
Was ist ein Iterator?
• Objekt, das Elemente nacheinander liefert | • Implementiert iter und next | • Wird in for-Schleifen verwendet
Was ist ein Generator?
• Erzeugt Werte bei Bedarf | • Verwendet yield | • Speichereffizient für große Datenmengen
Was ist der Unterschied zwischen shallow copy und deep copy?
• Shallow copy kopiert äußere Struktur | • Verschachtelte Objekte werden weiter geteilt | • Deep copy kopiert rekursiv
Was ist eine Klasse?
• Bauplan für Objekte | • Definiert Attribute und Methoden | • Hilft, zusammengehörige Logik zu strukturieren
Was ist ein Objekt?
• Instanz einer Klasse | • Enthält Zustand und Verhalten | • Mehrere Objekte können aus derselben Klasse entstehen
Was ist Vererbung?
• Klasse übernimmt Verhalten einer anderen Klasse | • Kann Code wiederverwenden | • Komposition ist oft flexibler
Was ist Polymorphie?
• Gleiche Schnittstelle kann unterschiedliche Implementierungen haben | • Erleichtert austauschbare Komponenten | • Beispiel: verschiedene Modelle mit predict
Was ist ein Decorator?
• Funktion, die Verhalten einer anderen Funktion erweitert | • Wird mit @syntax verwendet | • Beispiele: Logging oder Zugriffskontrolle
Was ist ein Modul?
• Python-Datei mit Funktionen, Klassen oder Variablen | • Kann importiert werden | • Fördert Wiederverwendung
Was ist ein Package?
• Sammlung zusammengehöriger Module | • Strukturiert größere Projekte | • Kann über pip installiert werden
Was ist eine virtuelle Umgebung?
• Isoliert Python-Abhängigkeiten pro Projekt | • Verhindert Versionskonflikte | • Beispiele: venv oder conda
Was ist pip?
• Paketmanager für Python | • Installiert Bibliotheken aus Paketquellen | • Versionen sollten für Reproduzierbarkeit festgehalten werden
Was ist requirements.txt?
• Liste von Python-Abhängigkeiten | • Kann mit pip install -r genutzt werden | • Für stabile Builds sollten Versionen klar definiert sein
Was ist NumPy?
• Bibliothek für numerische Berechnungen | • Zentrale Struktur ist das ndarray | • Schneller als Python-Schleifen für viele Array-Operationen
Was ist ein NumPy-Array?
• Mehrdimensionales homogenes Datenobjekt | • Elemente haben typischerweise denselben Datentyp | • Unterstützt vektorisierte Operationen
Was bedeutet Vektorisierung?
• Operationen auf ganzen Arrays statt Python-Schleifen | • Nutzen optimierter Bibliotheksroutinen | • Meist schneller und kompakter
Was ist Broadcasting?
• Erlaubt Operationen zwischen Arrays kompatibler Form | • Kleinere Dimensionen werden logisch erweitert | • Vermeidet unnötige Kopien
Was ist pandas?
• Bibliothek für tabellarische Datenanalyse | • Zentrale Objekte sind Series und DataFrame | • Baut auf NumPy auf
Was ist eine Series?
• Eindimensionale beschriftete Datenstruktur | • Hat Werte und Index | • Kann unterschiedliche Datentypen je Series enthalten
Was ist ein DataFrame?
• Zweidimensionale tabellarische Datenstruktur | • Spalten können verschiedene Datentypen haben | • Ähnelt einer Tabelle in SQL
Was ist der Index in pandas?
• Beschriftet Zeilen | • Muss nicht eindeutig sein | • Kann für Auswahl, Alignment und Joins genutzt werden
Was ist der Unterschied zwischen loc und iloc?
• loc wählt nach Labels | • iloc wählt nach Positionen | • Bei loc sind Endpunkte bei Slices meist inklusive
Wie filtert man Zeilen in pandas?
• Boolesche Maske verwenden | • Mehrere Bedingungen mit & oder | verknüpfen | • Klammern um einzelne Bedingungen setzen
Was macht groupby?
• Teilt Daten in Gruppen | • Erlaubt Aggregation oder Transformation | • Folgt dem Prinzip split-apply-combine
Was ist der Unterschied zwischen agg und transform?
• agg reduziert Gruppen auf Kennzahlen | • transform liefert Ergebnis in ursprünglicher Zeilenlänge | • transform eignet sich für gruppenbezogene Features
Was macht apply?
• Wendet Funktion auf Series, DataFrame oder Gruppen an | • Sehr flexibel | • Oft langsamer als spezialisierte vektorisierte Methoden
Wann sollte man apply vermeiden?
• Wenn vektorisierte Alternative existiert | • Bei großen Datenmengen wegen Performance | • Explizite pandas-Methoden sind meist klarer
Was macht merge?
• Verbindet DataFrames über Schlüssel | • Unterstützt inner, left, right und outer | • Kardinalität sollte vorher geprüft werden
Was ist der Unterschied zwischen merge, join und concat?
• merge verbindet über Spalten oder Index | • join ist indexorientiert | • concat hängt Objekte entlang einer Achse zusammen
Was macht concat?
• Kombiniert DataFrames zeilen- oder spaltenweise | • Achse wird mit axis gesteuert | • Indizes können erhalten oder neu aufgebaut werden
Wie erkennt man Duplikate in pandas?
• duplicated markiert doppelte Zeilen | • subset definiert relevante Schlüssel | • keep steuert, welche Zeile markiert wird
Wie entfernt man Duplikate?
• drop_duplicates verwenden | • Vorher definieren, welche Zeile behalten wird | • Sortierreihenfolge kann entscheidend sein
Wie behandelt man fehlende Werte in pandas?
• isna zur Erkennung | • dropna zum Entfernen | • fillna oder Imputation zum Ersetzen
Was ist der Unterschied zwischen NaN und None?
• None ist allgemeines Python-Objekt | • NaN ist numerischer Missing-Wert | • pandas vereinheitlicht Missingness je nach Datentyp
Was macht astype?
• Konvertiert Datentypen | • Nützlich für Kategorien, Zahlen oder Strings | • Fehlerhafte Werte müssen vorher behandelt werden
Wie konvertiert man unsaubere Zahlenwerte robust?
• pd.to_numeric verwenden | • errors='coerce' setzt ungültige Werte auf NaN | • Danach Missingness prüfen
Wie arbeitet man mit Datumswerten in pandas?
• pd.to_datetime zur Konvertierung | • dt-Accessor für Jahr, Monat oder Differenzen | • Zeitzonen bei Bedarf explizit behandeln
Was macht pivot?
• Formt Long- in Wide-Format um | • Benötigt eindeutige Kombinationen | • Bei Duplikaten eher pivot_table verwenden
Was macht melt?
• Formt Wide- in Long-Format um | • Hilfreich für Visualisierung und Modellierung | • Trennt Identifikations- und Wertespalten
Was ist chained assignment?
• Mehrstufige Auswahl mit potenziell unsicherer Zuweisung | • Kann SettingWithCopyWarning erzeugen | • Besser .loc in einem Schritt verwenden
Was ist Copy-on-Write in pandas?
• Optimiert Kopierverhalten | • Reduziert unerwartete Seiteneffekte | • Ändert aber nicht die Notwendigkeit klarer Zuweisungen
Wie verbessert man pandas-Performance?
• Vektorisierung nutzen | • Datentypen optimieren | • Unnötige apply-Schleifen und Kopien vermeiden
Wann sind kategorische Datentypen sinnvoll?
• Bei wiederkehrenden wenigen Kategorien | • Können Speicher sparen | • Erlauben definierte Reihenfolge
Wie liest man große Dateien effizient ein?
• Nur benötigte Spalten laden | • Datentypen vorgeben | • Bei Bedarf chunkweise verarbeiten
Was ist chunking?
• Datei wird in Teilmengen verarbeitet | • Reduziert Speicherbedarf | • Erfordert oft schrittweise Aggregation
Was ist method chaining?
• Mehrere Transformationen werden direkt verknüpft | • Kann Datenfluss lesbar machen | • Zu lange Ketten sollten aufgeteilt werden
Was macht pipe?
• Übergibt DataFrame an benutzerdefinierte Funktion | • Unterstützt lesbare Transformationsketten | • Gut für modulare Datenpipelines
Wie testet man Datenverarbeitungscode?
• Kleine deterministische Testdaten verwenden | • Erwartete Spalten, Zeilen und Werte prüfen | • Randfälle und Fehlerfälle testen
Was ist Logging?
• Strukturierte Protokollierung von Programmereignissen | • Besser als unkontrollierte print-Ausgaben | • Hilft bei Debugging und Betrieb
Was ist ein Unit Test in Python?
• Testet eine kleine isolierte Funktion | • Soll schnell und reproduzierbar sein | • Typische Werkzeuge: pytest oder unittest
Was ist pytest?
• Beliebtes Python-Testframework | • Einfache Assertions und Fixtures | • Gut für Unit- und Integrationstests
Was ist eine Fixture?
• Wiederverwendbare Testvorbereitung | • Stellt Daten oder Objekte bereit | • Reduziert Duplikation in Tests
Was ist ein Type Hint?
• Dokumentiert erwartete Datentypen | • Verbessert Lesbarkeit und Tool-Unterstützung | • Wird zur Laufzeit nicht automatisch erzwungen
Was ist ein Docstring?
• Dokumentation direkt an Funktion, Klasse oder Modul | • Beschreibt Zweck, Parameter und Rückgabe | • Hilft Nutzern und Entwicklungswerkzeugen
Was bedeutet PEP 8?
• Stilrichtlinie für Python-Code | • Fördert einheitliche Formatierung | • Lesbarkeit ist wichtiger als dogmatische Perfektion
Wie erklärt man Python-Code im Interview?
• Ziel zuerst benennen | • Datenstruktur und Komplexität erklären | • Randfälle und Fehlerbehandlung erwähnen
Was ist bei einer pandas-Aufgabe im Interview wichtig?
• Datentypen und Missing Values prüfen | • Joins und Duplikate kontrollieren | • Lesbare, vektorisierte Lösung bevorzugen