Einkaufswagen
Loading
Nur noch -1 verfügbar

Python-C-Extensions schreiben mit C und Cython

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

Python-C-Extensions schreiben mit C und Cython


Ein praxisorientierter Leitfaden zur Erweiterung und Beschleunigung von Python mit C und Cython


Inhaltsverzeichnis


Kapitel 1: Warum Python mit C erweitern?


  • Performance-Gründe und native Bibliotheken
  • Vergleich: reines Python vs. C-Extension vs. Cython
  • Mögliche Anwendungsfälle: Mathe, Bildverarbeitung, Parser
  • Überblick: CPython API, Cython, ctypes, cffi

Kapitel 2: Einstieg in die Python-C-API


  • Aufbau einer C-Erweiterung
  • Python-Header einbinden (Python.h)
  • PyObject, Referenzzählung, Rückgabewerte
  • Mini-Projekt: „Hello from C“ in Python aufrufen

Kapitel 3: C-Funktionen nach Python exportieren


  • Funktionssignaturen (PyObject*)
  • Argument-Parsing mit PyArg_ParseTuple()
  • Rückgabe von Zahlen, Strings, Listen
  • Mini-Projekt: Mathematische Funktionen als C-Module

Kapitel 4: C-Module kompilieren und einbinden


  • Verwendung von setuptools und Extension
  • setup.py oder pyproject.toml
  • Kompilieren, installieren und importieren
  • Mini-Projekt: Schnelle Stringoperationen als C-Modul

Kapitel 5: Arbeiten mit Arrays und Pufferobjekten


  • Zugriff auf NumPy-Arrays in C
  • buffer protocol, Pointer, Stride
  • Mini-Projekt: Bildfilterung über NumPy in C realisieren

Kapitel 6: Einstieg in Cython


  • Was ist Cython?
  • Vorteile gegenüber purer C-API
  • Typisierung und Cython-Dateien (.pyx, .pxd)
  • Mini-Projekt: Schneller Algorithmus mit Cython umsetzen

Kapitel 7: Python-Module mit Cython erstellen


  • cythonize() und setup.py
  • cdef, cpdef, def – was ist was?
  • Kombination von Python- und C-Funktionen
  • Mini-Projekt: Cython-Paket mit mathematischen Operationen

Kapitel 8: C-Bibliotheken in Cython einbinden


  • Externe C-Funktionen importieren
  • Header-Dateien mit .pxd-Definitionen nutzen
  • Mini-Projekt: OpenSSL oder zlib über Cython aufrufen

Kapitel 9: Performance-Analyse und Debugging


  • Laufzeitvergleich mit timeit
  • Profiler für Cython verwenden
  • Debuggen von C-Erweiterungen
  • Mini-Projekt: Optimierung eines rechenintensiven Moduls

Kapitel 10: Best Practices und Sicherheit


  • Fehlerbehandlung in C (NULL, Exceptions)
  • Speicherlecks und Referenzzähler kontrollieren
  • Portabilität und Build-Systeme (Linux, Windows, macOS)
  • Tipps zur Kombination mit purem Python-Code

Anhang A: Die wichtigsten Funktionen der Python-C-API


  • PyArg_ParseTuple, Py_BuildValue, Py_INCREF, Py_DECREF, PyList_New etc.

Anhang B: Vergleich: C, Cython, ctypes, cffi


  • Was eignet sich wann?
  • Vor- und Nachteile jeder Methode

Anhang C: Übungsaufgaben mit Lösungen


  • Eigene C-Funktion schreiben und einbinden
  • Rechenmodul mit Cython implementieren
  • C-Bibliothek in Cython aufrufen
  • Lösungen mit Schritt-für-Schritt-Kommentaren


Sie erhalten die folgenden Dateien:
  • EPUB (102KB)
  • PDF (7MB)