Systemprogrammierung und Systemnahe-Programmierung

Python-Literatur-Dschungel Eigentlich müssten wir hier von systemnaher Programmierung sprechen, d.h. Programmierung in einer Abstraktionsschicht über dem Betriebssystem oder zwischen Applikation und Betriebssystem. Unter Systemprogrammierung im engeren Sinne versteht man das Erstellen von Softwarekomponenten, die Teil des Betriebssystems sind.

Python unterstützt mit vielen Modulen die systemnahe Programmierung und ermöglicht den Zugriff auf Betriebssystemfunktionen über diese Module.

Im ersten Kapitel führen wir in das sys-Modul ein. Ein Schwerpunkt in diesem Kapitel sind die Standard-Datenströme (stdin, stdout, stderr) und deren Umleitung.

Python im Zusammenspiel mit der Shell ist das Thema des zweiten Kapitels. Dann geht es um Forking.

Im Zusammenhang mit Threads behandeln wir das thread-Modul sowie das threading-Modul. In einem praktischen Beispiel zeigen wir einen sinnvollen Einsatz von Threads, indem wir mittels Threads IP-Adressen in einem lokalen Netzwerk ermitteln.

Um nächsten Kapitel wird's dann alkoholisch, denn wir programmieren dort ein Skript, dass das beliebte Lied "99 bottles of beer" in Python und in Pipes umsetzt.

Wenn man gerne mit Arrays und Matrizen effizient und schnell arbeiten will, dann empfiehlt sich auf jeden Falls die Beschäftigung mit dem Modul NumPy von Python. Diesem Thema haben wir sogar mehrere Kapitel gewidmet, wie man auf der linken Seite sehen kann: "NumPy-Modul" und "Matrix-Arithmetik"

Wenn Ihnen die oben beschriebenen Themen zu komplex und abgehoben erscheinen, und Sie noch Probleme mit den Grundlagen von Python haben, dann empfehlen wir Ihnen einen Blick in die folgende Liste aus unserem Grundlagenkurs:

Online Kurs

In unserem Tutorial finden Sie eine komplette Einführung in Python mit Schwerpunkten zu verschiedenen Gebieten:

  • Das erste Kapitel beschäftigt sich mit der Entstehung und der Philosophie von Python: Geschichte von Python
  • Dann zeigen wir, wie man sehr schnell mit der interaktiven Shell erste kleine Erfolge verbuchen kann: Interaktiver Modus
  • Wie lässt sich Code ausführen und was passiert hinter den Kulissen von Python?
  • Python hat einen unorthodoxen Stil seine Skripte in Blöcke zu strukturieren.
  • Auch bei den Datentypen und Variablen ist vieles anders aber vor allen Dingen klarer als in anderen Programmiersprachen.
  • Die Operatoren sind hingegen so, wie man sie kennt und erwartet.
  • Wenn es ums Kopieren von Listen und anderen Datenstrukturen geht, machen Anfänger gerne mal Fehler. Deshalb lohnt sich ein Blick in unser Kapitel "Flaches und tiefes Kopieren" in unserem Tutorial.
  • Bedingte Anweisungen sind in Python so, wie man sie aus den meisten anderen Sprachen kennt.
  • Die while-Schleife ist wie gewohnt. Allerdings hat sie mit dem optionalen else-Zweig ein Feature was gerne übersehen und unterschätzt wird.
  • Die for-Schleife ähnelt der for-Schleife, wie man sie aus der Bash-Shell kennt.
  • Python brilliert durch die Klarheit und Konsequenz mit der Sequentielle Datentypen wie Strings, Listen und Tupel einheitlich behandelt werden.
  • Hashes oder assoziative Arrays kennt man in Python als Dictionaries
  • Die Funktionen zeichnen sich auch durch eine einfache und leicht zugängliche Syntax aus.
  • Neuer Beitrag: Zu Unrecht gefürchet: Rekursive Funktionen. Wir zeigen Ihnen, wie man in Python rekursiv programmiert.

Weitere Themen

  • Wie sieht die Parameterübergabe in Python aus? Wertübergabe (Call by Value) oder Referenzübergabe (Call by Reference)?
  • Um Namensräume und Gültigkeitsbereiche von Variablen geht es in unserem Kapitel "Globale und lokale Variablen"
  • Die Memoisation bezeichnet eine Technik in der Programmierung, die dazu dient Programme effizienter zu implementieren, indem Funktionswerte gespeichert werden.
  • Fast alle größeren Skripte und Programme müssen lesend und schreibend auf Dateien zugreifen können.
  • Dann können Sie lernen, wie einfach man Module und Pakete in Python erstellen kann.
  • Neuer Beitrag: Erst reguläre Ausdrücke machen eine Sprache für anspruchsvolle Textverarbeitung brauchbar. Deshalb haben wir eine detaillierte Einführung in das Thema Reguläre Ausdrücke und ein Kapitel für Fortgeschrittene ausgearbeitet, die hoffentlich keine Fragen offen lassen.
  • Wir zeigen Ihnen, dass Lambda-Operator, filter, reduce und map gar nicht so kompliziert wie ihr Ruf sind.
  • Einfacher als mit "Lambda und Co." geht es natürlich mit der List Comprehension (Listen-Abstraktion
  • Generatoren schrecken viele ab, weil sie so abstrakt klingen, aber wie zeigen mit einfachen Beispielen, wie man sie lieben lernt.
  • Neu:Die Ausnahmebehandlung ist für viele Programmierer traditioneller Programmiersprachen wie C und Fortran ein unbekanntes Konzept, was sie häufig meiden, auch wenn Sie es in Python oder Java nutzen können.
  • Da Python eine objektorientierte Programmiersprache ist, darf natürlich ein Kaptitel hierzu nicht fehlen: Klassen

Kurs ungleich Kurs

Wir wollen kurz den Begriff definieren, und damit erklären, wie es zum Titel dieser Webseite kam. Das Wort Kurs wird im deutschen Sprachgebrauch recht unterschiedlich gebraucht. So denken Börsianer, wenn sie den Begriff hören, wohl meistens an steigende und fallende Kurse, aber nicht an Lerninhalte. Sie lesen häufig sogar eine Fachzeitung mit Namen "KURS". Notenbanken beschäft das Wertverhältnis ihrer Währung im Verhältnis zu anderen Währungen, also der sogenannte Wechselkurs. Außerdem spricht man auch von Kursen, wenn man Streckenverläufe von Bus- und Bahnlinien bezeichnet, aber auch zum Beispiel eine Rennstrecke.
Man hält auch ein Schiff oder Flugzeug auf Kurs, und das ist auch unsere Absicht in unserem Python-Kurs: Wir wollen Sie bei der Stange halten. Diese Seite stellt aber auch ein Curriculum - noch ein Synonym für Kurs - zur planmäßigen Vermittlung von Programmiertechniken und Algorithmen dar.