Einkaufswagen
Loading
Nur noch -1 verfügbar

Speicherverwaltung und Garbage Collection in Python verstehen

Aktionspreis
€12.99 (25 % Rabatt)
€9.74
Zum Einkaufswagen hinzugefügt

Speicherverwaltung und Garbage Collection in Python verstehen


Ein tiefgehender Leitfaden zur Objektverwaltung, Speicheroptimierung und automatischen Speicherbereinigung in Python


Inhaltsverzeichnis


Kapitel 1: Einführung in Speicherverwaltung in Python


  • Wie Python Speicher verwaltet
  • Stack vs. Heap – wo werden Objekte gespeichert?
  • Die Rolle des Python-Interpreters (CPython)
  • Bedeutung für Performance und Ressourcenverbrauch

Kapitel 2: Objekte, Referenzen und Lebensdauer


  • Alles ist ein Objekt – auch Zahlen und Strings
  • Zuweisung vs. Kopie
  • Referenzzählung verstehen
  • Mini-Projekt: Referenzverhalten mit id() und refcount sichtbar machen

Kapitel 3: Die automatische Speicherbereinigung – Garbage Collection


  • Grundlagen der Garbage Collection in Python
  • Wie der Garbage Collector zyklische Referenzen erkennt
  • Das gc-Modul und seine Funktionen
  • Mini-Projekt: Objekte erzeugen, beobachten, löschen

Kapitel 4: Referenzzyklen erkennen und vermeiden


  • Wann entstehen Referenzzyklen?
  • Auswirkungen auf Performance und Speicher
  • Tipps zum Vermeiden und Auflösen von Zyklen
  • Mini-Projekt: Referenzdiagramm mit Kommentaren

Kapitel 5: Speicherlecks und häufige Fehlerquellen


  • Was sind Speicherlecks in Python?
  • Typische Ursachen (z. B. globale Variablen, C-Extensions, Events)
  • Tools zur Analyse von Speicherverbrauch
  • Mini-Projekt: Unentdeckter Speicherverbrauch im GUI-Programm

Kapitel 6: Das gc-Modul in der Praxis


  • Manuelles Auslösen von Garbage Collection
  • Objekte verfolgen mit gc.get_objects()
  • Sammlung steuern: gc.disable(), gc.collect(), gc.set_threshold()
  • Mini-Projekt: GC-Protokollierung in laufendem System

Kapitel 7: Ressourcen managen mit Kontextmanagern


  • Speicher ist nicht nur RAM: auch Dateien, Sockets, Handles
  • with-Anweisung und __enter__, __exit__
  • Verbindung zur Speicherfreigabe und deterministischem Verhalten
  • Mini-Projekt: Dateihandling mit automatischem Aufräumen

Kapitel 8: Objekt-Caching und Interning


  • Interning von Strings und Zahlen
  • Speicher sparen durch Wiederverwendung
  • Verhalten von kleinen Ganzzahlen und Konstanten
  • Mini-Projekt: Effekt von is vs. == im Speichervergleich

Kapitel 9: Speicheroptimierung und Best Practices


  • Objekttypen mit wenig Overhead: __slots__, tuple, array
  • Speichereffiziente Datenstrukturen wählen
  • Wann lohnt sich manuelle Optimierung?
  • Mini-Projekt: Liste vs. Generator im Speichervergleich

Kapitel 10: Werkzeuge zur Speicheranalyse und -profilierung


  • Tools: tracemalloc, memory_profiler, objgraph, pympler
  • Speicherverbrauch messen und vergleichen
  • Memory Snapshots und Differenzanalysen
  • Mini-Projekt: Speicherprofil eines Datenanalyseprogramms

Anhang A: Übersicht wichtiger Methoden und Module


  • gc, sys.getsizeof(), tracemalloc, id(), del, weakref
  • Funktionen und Beispiele in Kurzform

Anhang B: CPython-spezifische Aspekte der Speicherverwaltung


  • Objekte, PyObject-Header, Py_INCREF/Py_DECREF
  • Unterschiede zu Jython, PyPy, MicroPython

Anhang C: Übungsaufgaben mit Lösungen


  • Referenzverhalten simulieren
  • Speicheranalyse mit gc und tracemalloc
  • Objektlebensdauer im Kontextmanager testen
  • Detaillierte Lösungen mit Kommentaren


Sie erhalten die folgenden Dateien:
  • EPUB (109KB)
  • PDF (1MB)