Stefan Schwarzer

Number of videos:
3
Support Python 2 and 3 with the same code
EuroPython 2014
Stefan Schwarzer
Recorded: July 24, 2014Language: English

Your library supports only Python 2, - but your users keep nagging you about Python 3 support?

As Python 3 gets adopted more and more, users ask for Python 3 support in existing libraries for Python 2. Although there are several approaches, this talk focuses on using the very same code for a Python 2 and a Python 3 version.

The talk discusses the main problems when supporting Python 3 and best practices to apply for compatibility with Python 2 and 3.

Debugging mit Python
PyCon DE 2012
Stefan Schwarzer
Recorded: Oct. 31, 2012Language: German

Manche Fehler in Python-Programmen lassen sich mit Print-Anweisungen aufdecken, in komplizierteren Fällen ist aber ein Debugger gefragt.

Der Vortrag behandelt Grundlagen für die Fehlersuche in Python-Programmen. Zunächst soll es - für die einfachen Fälle - um Print-Anweisungen gehen. Danach kommt die Verwendung des mit Python gelieferten Debuggers pdb. Dazu werden Grundbegriffe wie Programmzeiger und Breakpoint erklärt und gezeigt, wie man die Befehle des Debuggers für die Fehlersuche benutzt (zum Beispiel Setzen von Breakpoints, schrittweise Ausführung ohne und mit Funktionsaufrufen sowie natürlich die Untersuchung von Objekten).

Ich kann den Vortrag wahlweise als 55- oder 25-Minuten-Version halten. Im ersten Fall würde ich auch noch auf andere Debugger wie pudb, pdb++ und WinPdb eingehen.

Nebenläufige Programme mit Python
PyCon DE 2012
Stefan Schwarzer
Recorded: Oct. 30, 2012Language: German

In diesem Vortrag soll es um Grundlagen nebenläufiger Programme gehen, wie sie mit den Modulen threading und multiprocessing möglich sind.

Zuerst wird erklärt, in welchen Fällen Nebenläufigkeit sinnvoll ist. Danach wird auf die grundsätzlichen Probleme nebenläufiger Programme eingegangen, insbesondere Änderungen an gemeinsam genutzten Ressourcen (zum Beispiel Dateien oder auch "nur" Objekte im Speicher) durch mehrere Threads oder Prozesse. Schließlich wird gezeigt, wie man solche Ressourcen-Zugriffe durch Locks oder Queues entschärfen kann.