Suchen und Finden

Titel

Autor

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

Python 3 - Das umfassende Handbuch

Python 3 - Das umfassende Handbuch

Johannes Ernesti, Peter Kaiser

 

Verlag Rheinwerk Computing, 2023

ISBN 9783836291316 , 1126 Seiten

7. Auflage

Format ePUB

Kopierschutz Wasserzeichen

Geräte

44,90 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.

Mehr zum Inhalt

Python 3 - Das umfassende Handbuch


 

2    Die Programmiersprache Python


Im vorangegangenen Kapitel haben wir Ihnen einen Überblick über dieses Buch gegeben und besprochen, in welcher Weise Sie es lesen sollten. Jetzt wenden wir uns der Programmiersprache Python zu und beginnen mit einer Einführung in ihre Geschichte und ihre grundlegenden Konzepte. Die beiden letzten Abschnitte dieses Kapitels behandeln die Einsatzmöglichkeiten und -gebiete von Python. Betrachten Sie dieses Kapitel also als erzählerische Einführung in die Thematik, die den darauffolgenden fachlichen Einstieg vorbereitet.

2.1    Historie, Konzepte, Einsatzgebiete


2.1.1    Geschichte und Entstehung


Die Programmiersprache Python wurde Anfang der 1990er-Jahre von dem Niederländer Guido van Rossum am Centrum voor Wiskunde en Informatica (CWI) in Amsterdam entwickelt. Ursprünglich war sie als Skriptsprache für das verteilte Betriebssystem Amoeba gedacht. Der Name Python lehnt sich nicht etwa an die Schlangenfamilie an, sondern ist eine Hommage an die britische Komikertruppe Monty Python.

Vor Python hatte van Rossum an der Entwicklung der Programmiersprache ABC mitgewirkt, die mit dem Ziel entwickelt wurde, so einfach zu sein, dass sie problemlos einem interessierten Laien ohne Programmiererfahrung beigebracht werden kann. Die Erfahrung aus positiver und negativer Kritik an ABC nutzte van Rossum für die Entwicklung von Python. Er schuf damit eine Programmiersprache, die mächtig und zugleich leicht zu erlernen ist.

Mit der Version 3.0, die im Dezember 2008 erschien, wurde die Sprache von Grund auf überarbeitet. Vorrangiges Ziel war es, die Sprache zu modernisieren und dabei frühe Designfehler zu beseitigen, die man in bisherigen Versionen aufgrund der Abwärtskompatibilität stets in der Sprache behalten musste. Mit dem offiziellen Ende der Unterstützung von Python 2 zum Jahresbeginn 2020 wurde die langjährige Übergangsphase zwischen den Sprachversionen 2 und 3 beendet.

Mittlerweile hat sich Python zu einer der beliebtesten Programmiersprachen entwickelt und nimmt bei Popularitätsindizes von Programmiersprachen[ 2 ] regelmäßig Spitzenpositionen ein.

Seit 2001 existiert die gemeinnützige Python Software Foundation, die die Rechte am Python-Code besitzt und Lobbyarbeit für Python betreibt. So organisiert die Python Software Foundation beispielsweise die PyCon-Konferenz, die jährlich in den USA stattfindet. Auch in Europa finden regelmäßig größere und kleinere Python-Konferenzen statt.

2.1.2    Grundlegende Konzepte


Grundsätzlich handelt es sich bei Python um eine imperative Programmiersprache, die jedoch noch weitere Programmierparadigmen in sich vereint. So ist es beispielsweise möglich, mit Python objektorientiert und funktional zu programmieren. Sollten Sie mit diesen Begriffen im Moment noch nichts anfangen können, seien Sie unbesorgt, schließlich sollen Sie ja die Programmierung mit Python und damit die Anwendung der verschiedenen Paradigmen in diesem Buch lernen.

Bei Python handelt es sich um eine interpretierte Programmiersprache. Ähnlich wie Java oder C# verfügt Python über einen Compiler, der aus dem Quelltext ein Kompilat erzeugt, den sogenannten Byte-Code. Dieser Byte-Code wird dann in einer virtuellen Maschine, dem Python-Interpreter, ausgeführt.

Ein weiteres Konzept, das Python zum Beispiel mit Java gemeinsam hat, ist die Plattformunabhängigkeit. Ein Python-Programm ist in der Regel auf allen Betriebssystemen unmodifiziert lauffähig, die vom Python-Interpreter unterstützt werden. Darunter fallen insbesondere die drei großen Desktop-Betriebssysteme Windows, Linux und macOS.

Im Lieferumfang von Python ist neben dem Interpreter und dem Compiler eine umfangreiche Standardbibliothek enthalten. Diese Standardbibliothek ermöglicht es dem Programmierer, in kurzer Zeit übersichtliche Programme zu schreiben, die sehr komplexe Aufgaben erledigen können. So bietet Python beispielsweise umfassende Möglichkeiten zur Netzwerkkommunikation oder zur Datenspeicherung. Da die Standardbibliothek die Programmiermöglichkeiten in Python wesentlich bereichert, widmen wir ihr in Teil III und teilweise in Teil IV dieses Buchs besondere Aufmerksamkeit.

Ein Nachteil der Programmiersprache ABC, den van Rossum bei der Entwicklung von Python beheben wollte, war die fehlende Flexibilität. Ein grundlegendes Konzept von Python ist es daher, es dem Programmierer so einfach wie möglich zu machen, die Standardbibliothek beliebig zu erweitern. Da Python als interpretierte Programmiersprache selbst nur eingeschränkte Möglichkeiten zur maschinennahen Programmierung bietet, können maschinennahe oder zeitkritische Erweiterungen problemlos in C geschrieben werden. Das ermöglicht die Python API.

In Abbildung 2.1 ist das Zusammenwirken der bisher angesprochenen Konzepte von Python zusammengefasst: Ein Python-Programm wird vom Python-Interpreter ausgeführt. Dieser stellt dabei eine umfangreiche Standardbibliothek bereit, die vom Programm verwendet werden kann. Außerdem erlaubt es die Python API einem externen C-Programm, den Interpreter zu verwenden oder zu erweitern.

Abbildung 2.1     Veranschaulichung der grundlegenden Konzepte von Python

Als letztes grundlegendes Konzept von Python soll erwähnt werden, dass Python unter der PSF-Lizenz[ 3 ] steht. Das ist eine von der Python Software Foundation entwickelte Lizenz für Open-Source-Software, die wesentlich weniger restriktiv ist als beispielsweise die GNU General Public License. So erlaubt es die PSF-Lizenz, den Python-Interpreter lizenzkostenfrei in Anwendungen einzubetten und mit diesen auszuliefern, ohne dass der Code offengelegt werden muss oder Lizenzkosten anfallen. Diese Politik macht Python auch für kommerzielle Anwendungen attraktiv.

2.1.3    Einsatzmöglichkeiten und Stärken


Die größte Stärke von Python ist Flexibilität. So kann Python beispielsweise als Programmiersprache für kleine und große Applikationen, als serverseitige Programmiersprache im Internet oder als Skriptsprache für eine größere C- oder C++-Anwendung verwendet werden. Auch abseits des klassischen Marktes breitet sich Python beispielsweise im Embedded-Bereich aus. So existieren Python-Interpreter für diverse Smartphone- bzw. Tablet-Systeme oder beispielsweise den Raspberry Pi.

Python ist aufgrund seiner einfachen Syntax leicht zu erlernen und gut zu lesen. Außerdem erlauben es die automatische Speicherverwaltung und die umfangreiche Standardbibliothek, mit kleinen Programmen bereits sehr komplexe Probleme anzugehen. Aus diesem Grund eignet sich Python auch zum Rapid Prototyping. Bei dieser Art der Entwicklung geht es darum, in möglichst kurzer Zeit einen lauffähigen Prototyp als eine Art Machbarkeitsstudie einer größeren Software zu erstellen, die dann später in einer anderen Programmiersprache implementiert werden soll. Mithilfe eines solchen Prototyps lassen sich Probleme und Designfehler bereits entdecken, bevor die tatsächliche Entwicklung der Software begonnen wird.

Eine weitere Stärke von Python ist die bereits im vorangegangenen Abschnitt angesprochene Erweiterbarkeit. Aufgrund dieser Erweiterbarkeit können Python-Entwickler aus einem reichen Fundus von Drittanbieterbibliotheken schöpfen. So gibt es etwa Anbindungen an die gängigsten GUI-Toolkits, die das Erstellen von Python-Programmen mit grafischer Benutzeroberfläche ermöglichen.

In den letzten Jahren hat sich Python zur zentralen Programmiersprache in den aufstrebenden Datenwissenschaften und für KI-Anwendungen entwickelt. Python bietet mit den Bibliotheken NumPy, SciPy, matplotlib und pandas ein hervorragendes Ökosystem für das wissenschaftliche Rechnen, die Datenanalyse und -visualisierung. Darüber hinaus haben sich mit scikit-learn, PyTorch, Keras und TensorFlow große Python-Bibliotheken für das maschinelle Lernen und das Deep Learning entwickelt, die Python zur Standardprogrammiersprache in diesem Bereich gemacht haben.

2.1.4    Einsatzbeispiele


Python erfreut sich großer Bekanntheit und Verbreitung sowohl bei Softwarefirmen und unter Wissenschaftlern als auch in der Open-Source-Gemeinschaft. Die Palette der Produkte, die zumindest zum Teil in Python geschrieben wurden, reicht von Webanwendungen (z. B. Google Mail, Google Maps, YouTube, Dropbox, reddit) über Entwicklungswerkzeuge (z. B. Mercurial, SCons) bis hin zu wissenschaftlichen Plattformen für das maschinelle Lernen (z. B. scikit-learn, PyTorch, TensorFlow) und für die Verarbeitung menschlicher Sprache (z. B. NLTK).

Viele etablierte Anwendungen unterstützen Python als Skriptsprache für Erweiterungen. Beispiele dafür sind die Grafik- und Visualisierungsanwendungen Maya, Blender, ParaView, Cinema 4D, Paint Shop Pro und GIMP.

Für den...