Home >>> Kurse >>> Spezialthemen >>> Erweiterungen

Kundenstimmen


Guter Kurs. Der Einstieg wird sehr kompetent vermittelt. Nach Bedarf werden aus dem breiten Themenangebot Schwerpunkte gewählt und vertieft.

Helmut Dittrich, Geschäftsführer DiFis-Engineering UG, arrow-fix.com, über den Kurs "Einstieg in Django" mehr dazu...


I really liked the course since it offered a lot of information in a structured way. I especially found it helpful to see the different techniques "in action".

Alexander Bittner, gocept GmbH & Co. KG über den Kurs "Python for Programmers" mehr dazu...


The course "Python for Scientists and Engineers" is a very useful introduction to Python programming for scientific applications ...

Dr. Mihai Duta, Oxford Supercomputing Centre, Großbritannien mehr dazu...


Guter Kurs. Man kommt auch ohne Python-Kenntnisse sehr schnell mit der Bedienung zurecht.

Daniel Fuchs, GIGATRONIK Ingolstadt GmbH, über den Kurs "Python für Programmierer" mehr dazu...


Sehr gute Einführung in die Programmiersprache ..

Matthias Enderle, freiberuflicher Programmierer über den Kurs "Python für Programmierer" mehr dazu...


Modul - Python-Erweiterungen in anderen Sprachen

Termine für offene Kurse

Kurs nur als In-Haus-Schulung verfügbar. Bitte fragen Sie unter info@python-academy.de nach.

Motivation

Python lässt sich gut mit Programmen in anderen Sprachen verbinden. Bestehende Bibliotheken, die in anderen Sprachen vorliegen, können somit genutzt werden. Programmieren in Python ist sehr komfortabel und effizient. Für manche Fragestellungen ist die Ausführungsgeschwindigkeit von Programmen aber wesentlicher geringer als bei Programmen in anderen Sprachen wie C/C++ oder Java. Langsame Programmteile können in anderen Sprachen implementiert und nahtlos in Python genutzt werden. Python wird oft als "glue language" bezeichnet, da sie vorzüglich für die Verbindung unterschiedlichster Systeme geeignet ist. Die Verbindung von Bibliotheken und Programmen in unterschiedlichen Sprachen spielt dabei oft eine wichtige Rolle.

Kursinhalt

Vorstellung des Beispiels

Im Kurs nutzen wir ein rechenzeitintensives Beispiel. Damit können wir die unterschiedlichen Methoden für Erweiterungen gut vergleichen.

Python-Erweiterungen im Pyrex/Cython

Pyrex ist eine Sprache zum Schreiben von Python-Erweiterungs-Modulen. Es handelt sich im Wesentlichen um Python mit einigen Einschränkungen und Ergänzungen, die es erlauben den Quelltext automatisch in C zu übertragen und eine Python-Erweiterung daraus zu generieren.

Im Kurs wird Pyrex an einem Beispiel vorgestellt. Die Möglichkeiten bestehende Programme in C zu integrieren werden erläutert.

Nutzung von DLLs mit ctypes

Das Paket ctypes erlaubt es DLLs bzw. shared libraries in Python zu nutzen. Es funktioniert unter den Betriebssystemen Windows, Windows CE, Mac OS X, Linux, Solaris, FreeBSD und OpenBSD. Die Implementierungssprache der DLL spielt dabei keine Rolle.

Im Kurs wird die Nutzung von ctypes an Beispielen erläutert. Unter Windows kommen der .NET-Compiler von Microsoft und der mingw-Compiler (gcc) zum Einsatz. Das Beispiel unter Linux wird mit gcc kompiliert. Besonderes Augenmerk wird auf die Typkonvertierungen zwischen Python und der DLL gelegt.

Nutzung von Pythons C-API

Die Standard-Version von Python ist in C implementiert und bietet eine umfangreiche API um Erweiterungen zu schreiben.

Im Kurs werden die Grundlagen dieser API an Beispielen erläutert. Es wird eine Erweiterung entwickelt, die sich von Python aus nutzen lässt.

Automatische Generierung von Erweiterungen mit SWIG

Der "Simplified Wrapper and Interface Generator" (SWIG) ermöglicht es C/C++ Bibliotheken von 13 anderen Sprachen aus zugänglich zu machen. Python wird ebenfalls unterstützt.

Im Kurs wird die Funktionsweise von SWIG erläutert. Dafür werden Beispiele in C und C++ genutzt.

Jython

Jython ist eine Implementierung von Python in Java. Es erlaubt die direkte Nutzung von Java-Klassen.

Im Kurs werden die Grundlagen von Jython-Programmen dargelegt. An Beispielen wird die Nutzung bestehender Java-Klassen sowie selbst geschriebener Klassen gezeigt.

IronPython

IronPython ist eine Pythonimplementierung in .NET. Sie erlaubt die Nutzung aller .NET Merkmale und macht damit Python zu einer .NET-Sprache erster Klasse - vergleichbar mit C# oder Visual Basic. Der Kurs führt kurz in IronPython ein, stellt vor wie .NET-Assemblies und wie selbst geschriebene C#-Klassen genutzt werden können.

Nutzung von FORTRAN-Routinen von Python

FORTRAN ist eine der ältesten Programmiersprachen und wird im wissenschaftlichen Bereich wegen seiner Performance immer noch intensiv eingesetzt. Es gibt viele alte, aber bewährte numerische Bibliotheken, die sich mit Python gut nutzen lassen.

Im Kurs wird die Nutzung von F2PY zur Verbindung von Python mit Subroutinen in FORTRAN77 und FORTRAN90/95 erläutert. An Beispielen wird aufgezeigt, wie eine objektorientierte Schnittstelle aufgebaut werden kann.

Moduldauer

1 Tag

Ablauf

Die Teilnehmer können alle Arbeitsschritte direkt auf ihrem Computer nachvollziehen. Am Ende jedes Themas können sie das erworbene Wissen durch praktische Übungen festigen.

Kursmaterialien

Jeder Teilnehmer erhält ausführliche Kursunterlagen mit ausformulierten Beschreibungen der Kursinhalte und eine CD mit allen verwendeten Quelltexten und genutzter Software.

Zielgruppe

Programmierer mit Pythongrundkenntnissen oder Kombination mit Grundkursen (siehe Empfohlene Modul-Kombinationen). Kenntnisse in C/C++, Java und/oder FORTRAN sind hilfreich.

Empfohlene Modul-Kombinationen

Das Modul Optimierung von Pythonprogrammen stellt eine inhaltliche Ergänzung zu diesem Modul dar. Im Kurs Python für Wissenschaftler und Ingenieure werden ebenfalls relevante Themen, die zum Inhalt dieses Moduls passen behandelt.

Das Modul kann mit den Kursen Python für Nichtprogrammierer oder Python für Programmierer kombiniert werden.



Die Python Academy ist Sponsor der PyCon Montréal 2015.

[PyCon Montréal 2015]

Die Python Academy ist Sponsor der Django Girls Wroclaw 2015.

[Django Girls Wroclaw 2015]

Die Python Academy ist Sponsor der PyCon Ireland 2014.

[PyCon Ireland 2014]

Die Python Academy ist Sponsor der EuroSciPy 2014.

[EuroSciPy 2014]

Die Python Academy ist Sponsor der PyData London 2014.

[PyData London 2014]

Die Python Academy ist Sponsor der EuroPython 2014.

[EuroPython 2014]

Die Python Academy ist Sponsor der PyCon 2014 Montréal.

[PyCon 2014 Montréal]

Die Python Academy ist Sponsor des Python BarCamp Köln 2014.

[Python BarCamp 2014]

Die Python Academy ist Sponsor der PyConDE 2013.

[PyCon DE 2013]

Die Python Academy ist Sponsor der EuroPython 2013.

[EuroPython 2013]

Die Python Academy ist Sponsor der PyCon US 2013.

[PyCon US 2013]

Die Python Academy ist Sponsor der EuroSciPy 2013.

[EuroSciPy 2013]

Die Python Academy ist Sponsor der PyConPL 2012.

[PyCon PL 2012]

News


Die nächsten offenen Kurse
mehr dazu ...


Python Academy ist Sponsor der EuroPython 2013
mehr dazu ...


Python Academy ist Sponsor der EuroSciPy 2013
mehr dazu ...


Python Academy ist Sponsor der PyCon US 2013
mehr dazu ...


Python Academy ist Sponsor des Python Barcamps in Köln
mehr dazu ...


Nächster Pythonstammtisch am 12. November 2013
mehr dazu ...


Kurs: "Introduction to Django" (Englisch) in Leipzig 11. - 13. November 2013
mehr dazu ...


Kurs: "Professional Testing with Python" (Englisch) in Leipzig 25. - 27. November 2013
mehr dazu ...


Kurs: "Advanced Django" (Englisch) in Leipzig 13. - 15. Januar 2014
mehr dazu ...


Python Academy ist Sponsor der PyCon PL 2012
mehr dazu ...


Python Academy ist Sponsor der PyCon DE 2012
mehr dazu ...


Gründer der Python Academy erhält PSF Community Service Award
mehr dazu ...