Python-Wörterbuch-Tutorial: Methoden, Beispiele und gängige Muster

  1. Startseite
  2. Blog
  3. Softwareentwicklung

Softwareentwicklung

Tutorial zum Python-Wörterbuch: Methoden, Beispiele und gängige Muster

Wörterbücher gibt es überall in Python, von JSON-Antworten bis zur Konfiguration. Erfahren Sie, wie Sie sie erstellen, lesen und aktualisieren und lernen Sie dann die Zähl-, Gruppierungs- und Zusammenführungsmuster kennen, die Sie in realen Projekten verwenden werden.

9 Min. Lesezeit
Tutorial zum Python-Wörterbuch: Methoden, Beispiele und gängige Muster

Das Wichtigste

  • Ein Python-Wörterbuch speichert Schlüssel-Wert-Paare und sucht sehr schnell nach einem Wert anhand seines Schlüssels.
  • Verwenden Sie get(), wenn ein Schlüssel fehlt, da eckige Klammern KeyError hervorrufen.
  • Schlüssel müssen hashbar sein, z. B. Zeichenfolgen, Zahlen oder Tupel. Listen können keine Schlüssel sein.
  • copy() ist flach, daher bleiben verschachtelte Daten gemeinsam genutzt, es sei denn, Sie verwenden deepcopy.

Wenn eine Liste eine Reihe nummerierter Felder ist, ist ein Python-Wörterbuch eine Reihe beschrifteter Felder. Sie fragen nach dem Namen und nicht nach der Position, was Sie wollen, weshalb Wörterbücher hinter JSON-Daten, Konfiguration, Caches und einem Großteil von Python selbst stehen.

Dieses Tutorial beginnt mit den Grundlagen und geht dann zu den Mustern über, die erfahrene Entwickler täglich verwenden. Wir haben alle Beispiele auf Python 3.13 ausgeführt und die angezeigte Ausgabe stammt von diesem Lauf.

Was ist ein Wörterbuch?

Ein Wörterbuch oder dict ordnet Schlüssel Werten zu. Jeder Schlüssel erscheint nur einmal und die Werte können beliebig sein, einschließlich Listen oder anderen Wörterbüchern.

Typ Zugriff durch Bestellt Duplikate Am besten für
Liste Position Ja Erlaubt Sequenzen
Tupel Position Ja Erlaubt Feste Datensätze
eingestellt Nur Mitgliedschaft Nein Nicht erlaubt Unikate
dict Schlüssel Einfügungsauftrag Schlüssel sind einzigartig Nach Namen suchen

Seit Python 3.7 behalten Wörterbücher offiziell die Einfügereihenfolge bei. Viele ältere Tutorials nennen sie immer noch ungeordnet, was nicht mehr stimmt. Für einen umfassenderen Vergleich der anderen Typen siehe Python-Liste vs. Tupel vs. Set.

Suchvorgänge sind schnell, da Wörterbücher eine Hash-Tabelle verwenden. Die Überprüfung eines Schlüssels nimmt ungefähr die gleiche Zeit in Anspruch, unabhängig davon, ob das Wörterbuch zehn oder eine Million Einträge enthält, wohingegen die Suche in einer Liste langsamer wird, je größer sie wird.

Erstellen Sie ein Wörterbuch

user = {"name": "Asha", "age": 31, "city": "Pune"}

empty = {}
from_keywords = dict(name="Asha", age=31)
from_pairs = dict([("a", 1), ("b", 2)])

Die häufigste Form sind geschweifte Klammern. Eine Falle: {} erstellt ein leeres Wörterbuch, keine leere Menge. Für eine leere Menge benötigen Sie set().

Werte sicher ablesen

Es gibt zwei Möglichkeiten, einen Wert zu lesen, und der Unterschied ist wichtig, wenn ein Schlüssel möglicherweise nicht vorhanden ist:

user["name"]                  # 'Asha'
user["email"]                 # KeyError: 'email'

user.get("email")             # None
user.get("email", "not set")  # 'not set'

Verwenden Sie eckige Klammern, wenn der Schlüssel vorhanden sein muss, damit ein fehlender Schlüssel laut versagt. Verwenden Sie get(), wenn Abwesenheit normal ist, beispielsweise als optionales Feld in einer API-Antwort. Um nach einem Schlüssel zu suchen, verwenden Sie den Operator in, der nach Schlüsseln und nicht nach Werten sucht:

"city" in user    # True
"Pune" in user    # False

Hinzufügen, aktualisieren und entfernen

Durch die Zuweisung zu einem Schlüssel wird dieser aktualisiert, falls vorhanden, oder hinzugefügt, wenn dies nicht der Fall ist:

user["age"] = 32
user["email"] = "asha@example.com"
print(user)

# {'name': 'Asha', 'age': 32, 'city': 'Pune', 'email': 'asha@example.com'}

Python bietet mehrere Möglichkeiten zum Entfernen von Elementen:

user.pop("city")          # returns 'Pune' and removes it
user.pop("phone", None)   # no error if it is missing
del user["email"]         # removes it, and raises KeyError if missing
user.clear()              # empties the dictionary

Verwenden Sie pop(), wenn Sie den Wert zurückhaben möchten. Durch die Übergabe eines Standardwerts als zweites Argument wird ein Fehler vermieden, wenn der Schlüssel nicht vorhanden ist. popitem() entfernt das zuletzt hinzugefügte Paar und gibt es zurück.

Durchlaufen Sie ein Wörterbuch

Durch direktes Schleifen erhalten Sie die Schlüssel. Um sowohl Schlüssel als auch Werte zu erhalten, verwenden Sie items():

user = {"name": "Asha", "age": 32}

for key, value in user.items():
    print(key, "=", value)

# name = Asha
# age = 32

keys(), values() und items() geben Live-Ansichten statt Kopien zurück, sodass sie spätere Änderungen widerspiegeln. Fügen Sie keine Schlüssel hinzu oder entfernen Sie sie, während Sie ein Wörterbuch durchlaufen, da Python eine RuntimeError auslöst. Machen Sie bei Bedarf eine Schleife über list(user).

Tipp: Die in Prüfung eines Wörterbuchs ist schnell, aber "Pune" in user.values() muss jeden Wert scannen. Wenn Sie dies häufig bei großen Datenmengen tun, ist Ihr Wörterbuch möglicherweise falsch eingegeben.

Spickzettel für Wörterbuchmethoden

Methode Was es bewirkt
get(k, Standard) Gibt einen Wert oder den Standardwert zurück, wenn der Schlüssel fehlt
keys() Gibt eine Ansicht der Schlüssel zurück
values() Gibt eine Ansicht der Werte zurück
items() Gibt eine Ansicht von Schlüssel- und Wertpaaren zurück
update(other) Fügt ein anderes Wörterbuch hinzu oder überschreibt es
pop(k, Standard) Entfernt einen Schlüssel und gibt seinen Wert zurück
popitem() Entfernt das zuletzt hinzugefügte Paar und gibt es zurück
setdefault(k, v) Gibt den Wert zurück und fügt zuerst v ein, wenn der Schlüssel fehlt
copy() Gibt eine flache Kopie zurück
clear() Entfernt alles
dict.fromkeys(keys, v) Erstellt ein Wörterbuch aus einer Liste von Schlüsseln

Wörterbücher zusammenführen

Ein häufiger Bedarf besteht darin, Benutzereinstellungen zusätzlich zu den Standardeinstellungen anzuwenden. Wenn die Tasten aufeinanderprallen, gewinnt die rechte Seite:

defaults = {"theme": "light", "lang": "en"}
saved = {"theme": "dark"}

defaults | saved
{**defaults, **saved}

# Both give: {'theme': 'dark', 'lang': 'en'}

Der Operator | benötigt Python 3.9 oder höher, während die Version ** auch auf älteren Versionen funktioniert. Beide erstellen ein neues Wörterbuch. Im Gegensatz dazu ersetzen defaults.update(saved) und defaults |= saved defaults an der Stelle.

Verständnis und Sortierung

Wörterbuchverständnisse erstellen ein neues Wörterbuch in einer einzigen lesbaren Zeile, genau wie Listenverständnisse dies für Listen tun:

prices = {"pen": 10, "book": 250, "bag": 900}

{k: v for k, v in prices.items() if v > 100}
# {'book': 250, 'bag': 900}

Um nach Wert zu sortieren, übergeben Sie eine key-Funktion an sorted(). Um den Schlüssel mit dem größten Wert zu finden, verwenden Sie max():

sorted(prices.items(), key=lambda item: item[1], reverse=True)
# [('bag', 900), ('book', 250), ('pen', 10)]

max(prices, key=prices.get)
# 'bag'

Ein Wörterbuch hat keine Methode sort() und sorted() gibt eine Liste von Paaren zurück. Schließen Sie das Ergebnis in dict() ein, wenn Sie ein Wörterbuch in dieser Reihenfolge wünschen.

Zähl- und Gruppierungsmuster

Es tauchen ständig zwei Aufgaben auf. Das erste ist das Zählen, was Sie mit get() mit einem Standardwert von Null durchführen können:

words = "to be or not to be".split()

counts = {}
for word in words:
    counts[word] = counts.get(word, 0) + 1

print(counts)
# {'to': 2, 'be': 2, 'or': 1, 'not': 1}

Die Standardbibliothek macht dies mit Counter noch kürzer:

from collections import Counter

Counter(words).most_common(2)
# [('to', 2), ('be', 2)]

Die zweite Möglichkeit ist die Gruppierung, und defaultdict ist hier ideal, da sie den fehlenden Wert für Sie erstellt:

from collections import defaultdict

orders = [("Asha", 1200), ("Ben", 300), ("Asha", 800)]

by_customer = defaultdict(list)
for name, total in orders:
    by_customer[name].append(total)

print(dict(by_customer))
# {'Asha': [1200, 800], 'Ben': [300]}

Ohne sie müssten Sie vor dem Anhängen prüfen, ob jeder Schlüssel vorhanden ist. Dieselben Muster eignen sich gut zum Aggregieren von API-Daten oder Protokollzeilen. Wenn ein Wörterbuch leer ist oder ein Schlüssel fehlt, zeigt unser Leitfaden zur Python-Ausnahmebehandlung, wie mit der resultierenden Ausnahme umgegangen wird KeyError.

Verschachtelte Daten und die Kopierfalle

JSON wird direkt auf verschachtelte Wörterbücher und Listen abgebildet, sodass Sie häufig Schlüssel verketten. Durch die Verkettung get() bleibt dies sicher, wenn ein Level fehlt:

response = {"user": {"profile": {"city": "Pune"}}}

response["user"]["profile"]["city"]               # 'Pune'
response.get("user", {}).get("settings", {}).get("theme")   # None

Seien Sie vorsichtig, wenn Sie verschachtelte Daten kopieren. copy() dupliziert nur die oberste Ebene, sodass innere Wörterbücher mit dem Original geteilt bleiben:

settings = {"db": {"host": "localhost"}}

shallow = settings.copy()
shallow["db"]["host"] = "prod"

print(settings["db"]["host"])
# prod

Durch das Ändern der Kopie wurde das Original verändert, was ein schwerwiegender Fehler sein kann. Verwenden Sie copy.deepcopy(settings), um eine völlig unabhängige Kopie zu erhalten.

Was kann ein Wörterbuchschlüssel sein?

Schlüssel müssen hashbar sein, was im Allgemeinen unveränderlich bedeutet. Zeichenfolgen, Zahlen und Tupel unveränderlicher Werte funktionieren alle. Listen und Wörterbücher tun Folgendes nicht:

{["a"]: 1}

# TypeError: unhashable type: 'list'

Der Grund dafür ist, dass der Hash eines Schlüssels darüber entscheidet, wo sein Wert gespeichert wird. Wenn sich ein Schlüssel ändern könnte, könnte Python ihn nicht mehr finden. Wenn Sie einen zusammengesetzten Schlüssel benötigen, verwenden Sie ein Tupel wie {("Pune", 2026): 120}.

Häufige Fehler

  • Verwenden Sie eckige Klammern für optionale Schlüssel. Greifen Sie nach get(), wenn ein Schlüssel möglicherweise fehlt.
  • Angenommen, get() bedeutet, dass der Schlüssel vorhanden ist. None könnte bedeuten, dass er fehlt oder gespeichert ist None. Verwenden Sie in, wenn der Unterschied wichtig ist.
  • Verwendung eines veränderlichen Standardwerts. dict.fromkeys(names, []) Gibt jedem Schlüssel die gleiche Liste. Verwenden Sie stattdessen ein Verständnis.
  • Größe während der Iteration ändern. Schleife über eine Kopie der Schlüssel.
  • Verwendung eines Diktats für feste, bekannte Felder. Ein dataclass kann klarer sein und erkennt Tippfehler in Feldnamen.

Fazit

Wörterbücher belohnen ein wenig Übung. Denken Sie an get() für optionale Schlüssel, items() für Schleifen und Counter und defaultdict für die beiden häufigsten Aufgaben. Nehmen Sie zum Üben eine kleine JSON-Datei und schreiben Sie Code, um die Datensätze zu zählen und zu gruppieren. Wenn Sie neu in der Sprache sind, beginnen Sie mit unserem Python-Tutorial für Anfänger.

Häufige Fragen

Was ist ein Wörterbuch in Python?

Ein Wörterbuch ist eine integrierte Sammlung, die Schlüssel-Wert-Paare speichert. Sie suchen einen Wert anhand seines Schlüssels, was selbst bei großen Datenmengen schnell geht.

Sind Python-Wörterbücher geordnet?

Ja. Seit Python 3.7 wird garantiert, dass Wörterbücher die Reihenfolge beibehalten, in der Schlüssel eingefügt wurden. Durch das Aktualisieren eines vorhandenen Schlüssels wird dessen Position nicht geändert.

Was ist der Unterschied zwischen get() und eckigen Klammern?

Eckige Klammern lösen KeyError aus, wenn ein Schlüssel fehlt. get() gibt „None“ oder einen von Ihnen bereitgestellten Standardwert zurück, sodass es für optionale Schlüssel geeignet ist.

Kann ein Wörterbuch doppelte Schlüssel haben?

Nein. Jeder Schlüssel ist einzigartig. Durch die Zuweisung zu einem vorhandenen Schlüssel wird dessen Wert ersetzt. Wenn ein Literal einen Schlüssel wiederholt, gewinnt der letzte Wert.

Wie füge ich zwei Wörterbücher in Python zusammen?

Verwenden Sie ein | b auf Python 3.9 oder höher oder {**a, **b} auf älteren Versionen. Beide erstellen ein neues Wörterbuch und Werte aus b gewinnen, wenn Schlüssel kollidieren.

Lerne weiter

Arbeiten Sie mit Stack Quora

Benötigen Sie Hilfe beim Testen, WordPress oder SEO?

Wir helfen Teams, bessere Software zu liefern und ihre Websites zu erweitern. Sagen Sie uns, woran Sie gerade arbeiten, und wir schlagen Ihnen einen klaren nächsten Schritt vor.

Lesen Sie weiter

Weitere Anleitungen finden Sie unter Tests, KI und moderne Entwicklung

Hat Ihnen dieser Artikel gefallen? Wählen Sie ein Thema und springen Sie direkt in unsere neuesten Tutorials.

Künstliche Intelligenz

KI-Halluzinationen erklärt: Warum Sprachmodelle Dinge erfinden und wie man sie reduziert

KI-Halluzinationen erklärt: Was sie sind, warum Sprachmodelle sie produzieren, gängige Typen, wie man sie mit Erdung und Eingabeaufforderungen reduz…

Artikel lesen →
DevOps

Erklärte Umgebungsvariablen: .env-Dateien, Geheimnisse und Konfiguration richtig gemacht

Umgebungsvariablen anhand von Python-Beispielen erklärt, die wir ausgeführt haben: Sie lesen und festlegen, warum jeder Wert ein String ist, .env-Da…

Artikel lesen →
Softwareentwicklung

API-Ratenbegrenzung erklärt: Algorithmen, Header und Behandlung von 429-Fehlern

API-Ratenbegrenzung anhand einer von uns durchgeführten Simulation erklärt: Token-Bucket, festes Fenster, gleitendes Fenster, 429 Antworten, Ratenbe…

Artikel lesen →
Testautomatisierung

Spott in Python: unittest.mock, Patch und die Fehler, die Tests zum Lügen machen

Mocking in Python mit unittest.mock, getestet: Mock und return_value, side_effect, Patchen, wo ein Name verwendet wird, Spezifikation und Autospec, …

Artikel lesen →
Softwaretests

Code-Abdeckung erklärt: Leitungs- und Zweigstellenabdeckung und was 100 % wirklich bedeutet

Erklärung der Codeabdeckung anhand eines echten Coverage.py-Laufs: Zeilen-, Zweig- und Bedingungsabdeckung, Lesen eines Berichts, warum bei 100 % Ab…

Artikel lesen →
Datenbanken & SQL

DELETE vs. TRUNCATE vs. DROP in SQL: Unterschiede, Rollback und Verwendungszweck

DELETE vs. TRUNCATE vs. DROP erklärt mit getestetem SQL: was jeweils entfernt wird, Rollback, Trigger, Identitätsrücksetzung, Geschwindigkeit und wi…

Artikel lesen →
Datenbanken & SQL

Erklärte SQL-Ansichten: Erstellen, nutzen und vermeiden Sie Fallstricke mit Beispielen

SQL-Ansichten anhand der von uns ausgeführten Abfragen erklärt: Erstellen einer Ansicht, Live-Ergebnisse, Ausblenden von Spalten, Leistung, aktualis…

Artikel lesen →
Softwareentwicklung

TypeScript-Schnittstelle vs. Typ: Echte Unterschiede, getestet mit dem Compiler

TypeScript-Schnittstelle vs. Typ, überprüft mit dem echten Compiler: Was beide können, was nur einer kann, Deklarationszusammenführung, Erweiterunge…

Artikel lesen →
Softwareentwicklung

Python *args und **kwargs erklärt: Flexible Funktionen mit klaren Beispielen

Python *args und **kwargs erklärt mit Code, den wir ausgeführt haben: Packen und Entpacken, Parameterreihenfolge, Nur-Schlüsselwort- und Nur-Positio…

Artikel lesen →
Softwareentwicklung

Python-Lambda-Funktionen: Syntax, tatsächliche Verwendung und wann man sie nicht verwendet

Python-Lambda-Funktionen erklärt mit Code, den wir ausgeführt haben: Syntax, Sortierung mit Schlüssel, Karte und Filter, Abschlüsse, die Late-Bindin…

Artikel lesen →
Künstliche Intelligenz

Was sind KI-Agenten? Wie sie funktionieren, mit einer einfachen Agentenschleife, die Sie ausführen können

Was sind KI-Agenten? Eine einfache Anleitung zur Agentenschleife, zu Tools, Speicher und Leitplanken, mit einer kleinen Python-Schleife, die wir aus…

Artikel lesen →
DevOps

Überwachung vs. Beobachtbarkeit: Der wahre Unterschied, mit Protokollen, Metriken und Traces

Überwachung vs. Beobachtbarkeit erklärt: bekannte und unbekannte Fehler, Protokolle, Metriken und Spuren, eine exemplarische Vorgehensweise für Chec…

Artikel lesen →
DevOps

Docker-Volumes vs. Bind Mounts: Containerdaten auf die richtige Art und Weise beibehalten

Docker-Volumes vs. Bind-Mounts erklärt: Warum Containerdaten verschwinden, benannte Volumes, Bind-Mounts, tmpfs, Compose-Beispiele, Backups, Berecht…

Artikel lesen →
Testautomatisierung

TDD vs. BDD: Hauptunterschiede, eine Funktion, die auf beide Arten entwickelt wurde und wann sie jeweils verwendet werden sollte

TDD vs. BDD erklärt mit einer Rabattfunktion, die in beide Richtungen aufgebaut ist: Rot-Grün-Refaktor mit Code, den wir ausgeführt haben, Gegeben-W…

Artikel lesen →
Softwaretests

Benutzerakzeptanztests (UAT): Prozess, Checkliste und reale Beispiele

Benutzerakzeptanztests erklärt: Wer führt ihn durch, wie unterscheidet er sich von der Qualitätssicherung, ein siebenstufiger Prozess, eine UAT-Test…

Artikel lesen →
Datenbanken & SQL

Erklärte SQL-NULL-Werte: IS NULL, COALESCE, NULLIF und die zu vermeidenden Fallen

SQL-NULL-Werte, die mit von uns ausgeführten Abfragen erklärt wurden: dreiwertige Logik, IS NULL, COALESCE, NULLIF, wie Aggregate, Joins und Sortier…

Artikel lesen →
Datenbanken & SQL

SQL CASE WHEN-Anweisung: Syntax, reale Beispiele und häufige Fehler

SQL CASE WHEN anhand der von uns ausgeführten Abfragen erklärt: einfache und durchsuchte Formulare, Bedingungsreihenfolge, Pivots mit SUM, COUNT-Tri…

Artikel lesen →
Softwareentwicklung

Was ist JWT? JSON-Web-Tokens anhand eines funktionierenden Beispiels erklärt

Was ist JWT? JSON Web Tokens erklärt: die drei Teile, ein Token, das in dem von uns ausgeführten Code erstellt und manipuliert wurde, JWT vs. Sitzun…

Artikel lesen →
Softwareentwicklung

Erklärte JavaScript-Ereignisschleife: Aufrufstapel, Mikrotasks und Timer mit Beispielen

Die JavaScript-Ereignisschleife wurde mit dem von uns ausgeführten Code erklärt: Aufrufstapel, Aufgaben- und Mikrotask-Warteschlangen, warum setTime…

Artikel lesen →
Softwareentwicklung

Erklärung von Python-Generatoren und -Ertrag: Sparen Sie Speicher mit echten Beispielen

Python-Generatoren und Yield anhand des von uns ausgeführten Codes erklärt: wie sie angehalten und fortgesetzt werden, gemessene Speichereinsparunge…

Artikel lesen →
Künstliche Intelligenz

Was sind Einbettungen? Vektoren und Kosinusähnlichkeit einfach erklärt

Was sind Einbettungen? Ein Leitfaden in einfacher Sprache zu Vektoren, Kosinusähnlichkeit und semantischer Suche, mit einem kleinen Beispiel, das wi…

Artikel lesen →
DevOps

Blau-Grün vs. Canary-Bereitstellung: Unterschiede, Kompromisse und Auswahl

Blue-Green vs. Canary-Bereitstellung erklärt: Funktionsweise, Kosten, Risiko und Rollback, stabiles Benutzer-Bucketing, das wir getestet haben, Date…

Artikel lesen →
Testautomatisierung

Flaky-Tests: Was sie verursacht und wie man sie endgültig behebt

Flaky-Tests wurden anhand von Demos erklärt, die wir durchgeführt haben: die Hauptursachen, wie man sie bestätigt und diagnostiziert, richtige Korre…

Artikel lesen →
Softwaretests

Lasttest vs. Stresstest: Unterschiede, Metriken und k6-Beispiele

Erläuterungen zu Lasttests und Stresstests: Was die einzelnen Tests beweisen, Spike- und Soak-Tests, welche Kennzahlen wichtig sind, warum Durchschn…

Artikel lesen →
Softwaretests

Testfall vs. Testszenario: Hauptunterschiede, Beispiele und wann man sie jeweils verwendet

Testfall vs. Testszenario erklärt: klare Definitionen, eine Tabelle nebeneinander, eine Funktion zum Zurücksetzen von Passwörtern, die von Szenarios…

Artikel lesen →
Datenbanken & SQL

SQL-Abfrageoptimierung: Ausführungspläne lesen und langsame Abfragen mit Zeitvorgaben beheben

An einer Million Zeilen getestete SQL-Abfrageoptimierung: Ausführungspläne lesen, die richtigen Indizes hinzufügen, nicht sargierbare Filter korrigi…

Artikel lesen →
Datenbanken & SQL

SQL UNION vs. UNION ALL: Unterschiede, Beispiele und getestete Leistung

SQL UNION vs. UNION ALL anhand der von uns ausgeführten Abfragen erklärt: Duplikate, die Regeln, denen beide folgen, ein echter Datenfehler, gemesse…

Artikel lesen →
Softwareentwicklung

Tutorial zur JavaScript-Abruf-API: GET, POST, Fehlerbehandlung und Zeitüberschreitungen

Ein JavaScript-Abruf-API-Tutorial, das auf einem lokalen Server getestet wurde: GET und POST, warum 404 nicht ausgelöst wird, ein wiederverwendbarer…

Artikel lesen →
Softwareentwicklung

Umgang mit Python-Dateien: Lesen, Schreiben, CSV, JSON und Pathlib mit Beispielen

Die Handhabung von Python-Dateien wird anhand des von uns ausgeführten Codes erklärt: Öffnungsmodi, Lesen großer Dateien, CSV, JSON, Pathlib, Binärd…

Artikel lesen →
Softwareentwicklung

Python-Klassen und -Objekte: OOP-Tutorial mit echten Beispielen

Python-Klassen und -Objekte erklärt mit Code, den wir ausgeführt haben: __init__, Methoden, Klassen- und Instanzattribute, Vererbung, Eigenschaften,…

Artikel lesen →
Künstliche Intelligenz

Was ist ein großes Sprachmodell? Wie LLMs funktionieren, ohne großen Hype erklärt

Was ist ein großes Sprachmodell? LLMs im Klartext erklärt: Token, Einbettungen, Aufmerksamkeit, Training, Temperatur- und Kontextfenster, eine klein…

Artikel lesen →
DevOps

Linux-Befehle für Anfänger: Der grundlegende Terminal-Leitfaden mit Beispielen

Linux-Befehle für Anfänger, gruppiert nach Aufgaben: Navigation, Dateien, Anzeigen von Protokollen, Grep, Pipes, Berechtigungen, Prozesse und Archiv…

Artikel lesen →
Testautomatisierung

Selenium vs. Playwright: Hauptunterschiede, Code im Vergleich und welche Sie wählen sollten

Selenium vs. Playwright im Vergleich: Architektur, Wartezeit, Browser- und Sprachunterstützung, Debugging, der gleiche Test in beiden Tools, Migrati…

Artikel lesen →
Softwaretests

Äquivalenzpartitionierung: Testdesigntechnik anhand von Beispielen erklärt

Erklärung der Äquivalenzpartitionierung: Wie man gültige und ungültige Partitionen findet, Beispiele für Alter, Passwörter und Gutscheine, von uns d…

Artikel lesen →
Softwaretests

Schweregrad vs. Priorität beim Softwaretest: Unterschiede, Matrix und reale Beispiele

Schweregrad vs. Priorität beim Softwaretest erklärt: klare Definitionen, eine Vier-Wege-Matrix mit Beispielen, Stufenskalen, wer die einzelnen Punkt…

Artikel lesen →
Datenbanken & SQL

Tutorial zu SQL-Unterabfragen: Typen, korrelierte Unterabfragen und EXISTS mit Beispielen

Ein SQL-Unterabfrage-Tutorial mit Abfragen, die wir ausgeführt haben: Skalar-, IN-, FROM- und SELECT-Unterabfragen, korrelierte Unterabfragen, EXIST…

Artikel lesen →
Datenbanken & SQL

SQL-Transaktionen und ACID erklärt: COMMIT, ROLLBACK und Isolationsstufen

SQL-Transaktionen und ACID anhand einer von uns durchgeführten Banküberweisung erklärt: COMMIT, ROLLBACK, Sicherungspunkte, Sperren, Isolationsstufe…

Artikel lesen →
Softwareentwicklung

Spickzettel für Git-Befehle: Die Befehle, die Sie tatsächlich verwenden, mit Beispielen

Ein Git-Befehls-Spickzettel, gruppiert nach Aufgabe: Setup, Staging, Branches, Remotes, Stash, Verlauf und Rückgängigmachen von Fehlern, mit Ausgabe…

Artikel lesen →
Softwareentwicklung

Erklärte JavaScript-Versprechen: Dann, Catch, Promise.all und häufige Fehler

JavaScript-Versprechen erklärt mit Code, den wir ausgeführt haben: Zustände, dann und Fangketten, Fehlerbehandlung, Promise.all, allSettled, Rennen …

Artikel lesen →
Softwareentwicklung

Python-Wörterbuch-Tutorial: Methoden, Beispiele und gängige Muster

Ein Python-Wörterbuch-Tutorial mit Code, den wir ausgeführt haben: Diktate erstellen, lesen und aktualisieren, Schlüsselmethoden, Zusammenführung, V…

Artikel lesen →
Künstliche Intelligenz

Was ist RAG? Retrieval-Augmented Generation anhand eines Arbeitsbeispiels erklärt

Was ist RAG? Abruf-erweiterte Generierung Schritt für Schritt erklärt: Indizierung, Chunking, Einbettungen, Abruf, ein kleines funktionierendes Pyth…

Artikel lesen →
DevOps

Terraform-Tutorial für Anfänger: Infrastruktur als Code von der ersten Datei bis zu den Modulen

Ein Terraform-Tutorial für Anfänger: Beginnen Sie ohne Cloud-Konto, lernen Sie Init, Planen und Anwenden, dann Variablen, Ausgaben, Status, Module u…

Artikel lesen →
DevOps

Docker vs. Kubernetes: Hauptunterschiede, wie sie zusammenarbeiten und was Sie brauchen

Docker vs. Kubernetes erklärt: Was jeder tut, die gleiche App läuft mit beiden, Docker Compose und Swarm im Vergleich, die Dockershim-Änderung und w…

Artikel lesen →
Testautomatisierung

Pytest-Tutorial für Anfänger: Vorrichtungen, Parametrisierung und reale Beispiele

Ein Pytest-Tutorial für Anfänger mit Tests, die wir auf Pytest 9.2 durchgeführt haben: Assertions, Fixtures, Parametrize, Conftest, Markers, tmp_pat…

Artikel lesen →
Softwaretests

Software Testing Life Cycle (STLC): 6 Phasen, Einstiegs- und Ausstiegskriterien, Beispiel

Der Softwaretest-Lebenszyklus erklärt: sechs STLC-Phasen mit Ein- und Ausstiegskriterien, Ergebnisse, ein Beispiel für eine funktionierende Anmeldef…

Artikel lesen →
Softwareentwicklung

Git merge vs rebase: Unterschiede, Beispiele und wann man was nutzt

Git merge vs rebase erklärt mit echter Log-Ausgabe, einer Vergleichstabelle, der goldenen Regel des Rebase und einem sicheren Team-Workflow.

Artikel lesen →
Softwareentwicklung

Python List Comprehension: Syntax, Beispiele und wann man darauf verzichtet

Python List Comprehension erklärt: Syntax, Filter, if-else, verschachtelte Schleifen, gemessene Zeiten und Fälle, in denen eine normale for-Schleife…

Artikel lesen →
Datenbanken & SQL

SQL Joins erklärt mit Beispielen (Inner, Left, Right, Full)

SQL Joins Schritt für Schritt mit Beispieltabellen und Abfragen verstehen: INNER, LEFT, RIGHT, FULL, CROSS und SELF, plus typische Fehler und Perfor…

Artikel lesen →