Rheinwerk Computing < openbook >

 
Inhaltsverzeichnis
1 Einleitung
2 Die Programmiersprache Python
Teil I Einstieg in Python
3 Erste Schritte im interaktiven Modus
4 Der Weg zum ersten Programm
5 Kontrollstrukturen
6 Dateien
7 Das Laufzeitmodell
8 Funktionen, Methoden und Attribute
9 Informationsquellen zu Python
Teil II Datentypen
10 Das Nichts – NoneType
11 Operatoren
12 Numerische Datentypen
13 Sequenzielle Datentypen
14 Zuordnungen
15 Mengen
16 Collections
17 Datum und Zeit
18 Aufzählungstypen – Enum
Teil III Fortgeschrittene Programmiertechniken
19 Funktionen
20 Modularisierung
21 Objektorientierung
22 Ausnahmebehandlung
23 Iteratoren
24 Kontextobjekte
25 Manipulation von Funktionen und Methoden
Teil IV Die Standardbibliothek
26 Mathematik
27 Kryptografie
28 Reguläre Ausdrücke
29 Schnittstelle zu Betriebssystem und Laufzeitumgebung
30 Kommandozeilenparameter
31 Dateisystem
32 Parallele Programmierung
33 Datenspeicherung
34 Netzwerkkommunikation
35 Debugging und Qualitätssicherung
36 Dokumentation
Teil V Weiterführende Themen
37 Anbindung an andere Programmiersprachen
38 Distribution von Python-Projekten
39 Grafische Benutzeroberflächen
40 Python als serverseitige Programmiersprache im WWW – ein Einstieg in Django
41 Wissenschaftliches Rechnen
42 Insiderwissen
43 Von Python 2 nach Python 3
A Anhang
Stichwortverzeichnis

Download:
- Beispielprogramme, ca. 464 KB

Jetzt Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Python 3 von Johannes Ernesti, Peter Kaiser
Das umfassende Handbuch
Buch: Python 3

Python 3
Pfeil 1 Einleitung
 
Zum Seitenanfang

1    Einleitung Zur vorigen ÜberschriftZur nächsten Überschrift

Herzlich willkommen in unserem umfassenden Handbuch zur Programmiersprache Python. Da Sie unser Buch in diesem Augenblick in den Händen halten, haben Sie eine erste Entscheidung bereits getroffen: Sie möchten in Python programmieren. Ob Sie nun ein Programmierneuling sind oder bereits Programmiererfahrung mitbringen, unser Ziel ist es, Ihnen im Laufe dieses Buchs die Sprache Python selbst und die damit zusammenhängenden Hintergründe, Konzepte und Werkzeuge nahezubringen. Zunächst möchten wir Sie aber zu Ihrer Entscheidung beglückwünschen, denn Python ist einfach, elegant und mächtig – kurzum: Es macht einfach Spaß, in Python zu programmieren.

Bevor wir Sie in die wunderbare Welt von Python entführen, möchten wir Ihnen dieses Buch kurz vorstellen. Dabei werden Sie grundlegende Informationen darüber erhalten, wie das Buch aufgebaut ist und was Sie bei der Lektüre beachten sollten. Außerdem umreißen wir die Ziele und Konzepte des Buchs, damit Sie im Vorfeld wissen, was Sie erwartet.

 
Zum Seitenanfang

Warum haben wir dieses Buch geschrieben? Zur vorigen ÜberschriftZur nächsten Überschrift

Wir, Peter Kaiser und Johannes Ernesti, sind vor nunmehr über zehn Jahren durch Zufall auf die Programmiersprache Python aufmerksam geworden und bis heute bei ihr geblieben. Besonders überzeugten uns Pythons Einfachheit, Flexibilität und Eleganz. Mit Python lässt sich eine Idee in kurzer Zeit zu einem funktionierenden Programm fortentwickeln. Es lassen sich nicht zuletzt mithilfe der umfangreichen Standardbibliothek kurze, elegante und produktive Programme für komplexe Aufgaben schreiben, was den Programmieralltag erheblich vereinfacht. Zudem läuft Python-Code unmodifiziert auf allen wichtigen Betriebssystemen und Rechnerarchitekturen. Aus diesen Gründen nutzen wir für unsere eigenen Projekte mittlerweile fast ausschließlich Python.

Unsere erste Begegnung mit Python hatte auch ihre Schattenseiten: Zwar gibt es viele Bücher zum Thema, und auch im Internet finden sich Dokumentationen und Anleitungen, doch diese Texte sind entweder sehr technisch oder nur zum Einstieg in die Sprache Python gedacht. Die Fülle an Tutorials macht es einem Einsteiger einfach, in die Python-Welt »hineinzuschnuppern« und die ersten Schritte zu wagen. Es ist mit guten Tutorials sogar möglich, innerhalb weniger Tage ein fundiertes Grundwissen aufzubauen, mit dem sich durchaus arbeiten lässt. Problematisch ist der Übergang zur fortgeschrittenen Programmierung, da man dann mit den einführenden Tutorials nicht mehr vorankommt, trotzdem aber noch nicht in der Lage ist, die zumeist sehr technische Dokumentation von Python zur Weiterbildung zu nutzen.

Ziel dieses Buchs ist es, diese Lücke zu schließen. Es bietet Ihnen neben einer umfassenden Einführung in die Sprache Python viele weiterführende Kapitel, die Sie letztlich in die Lage versetzen, Python professionell einzusetzen. Außerdem gibt Ihnen das Buch stets Anhaltspunkte und Begriffe an die Hand, mit denen Sie eine weiterführende Recherche, beispielsweise in der Python-Dokumentation, durchführen können.

 
Zum Seitenanfang

Was leistet dieses Buch? Zur vorigen ÜberschriftZur nächsten Überschrift

Dieses Buch vermittelt Ihnen fundierte Python-Kenntnisse, mit denen Sie professionellen Aufgaben gewachsen sind. Dazu wird die Sprache Python umfassend und systematisch vom ersten einfachen Programm bis hin zu komplexen Sprachelementen eingeführt. Das Buch stellt den praxisbezogenen Umgang mit Python in den Vordergrund, es soll Sie möglichst schnell in die Lage versetzen, Python-Programme zu verstehen und selbst zu entwickeln.

Abgesehen von der Einführung in die Sprache selbst werden große Teile der Standardbibliothek von Python besprochen. Dabei handelt es sich um eine Sammlung von Hilfsmitteln, die dem Programmierer zur Verfügung stehen, um komplexe Programme zu entwickeln. Die umfangreiche Standardbibliothek ist eine der größten Stärken von Python. Abhängig von der Bedeutung und Komplexität des jeweiligen Themas werden konkrete Beispielprogramme zur Demonstration erstellt, was zum einen im Umgang mit der Sprache Python schult und zum anderen als Grundlage für eigene Projekte dienen kann. Der Quelltext der Beispielprogramme ist sofort ausführbar und findet sich im Onlineangebot zu diesem Buch, das ein paar Seiten weiter im Abschnitt »Beispielprogramme« besprochen wird.

Auch wenn der praxisorientierte Einstieg und die praktische Arbeit mit Python im Vordergrund stehen, wird viel Hintergrundwissen zur Programmierung vermittelt. Auf allzu theoretische Ausführungen verzichten wir dabei.

 
Zum Seitenanfang

Wie ist dieses Buch aufgebaut? Zur vorigen ÜberschriftZur nächsten Überschrift

Dieses Buch ist in fünf Teile gegliedert, deren Inhalt im Folgenden kurz zusammengefasst wird. Sollten Sie mit den Begriffen im Moment noch nichts anfangen können, seien Sie unbesorgt – an dieser Stelle dienen alle genannten Begriffe zur Orientierung und werden im jeweiligen Kapitel des Buchs ausführlich erklärt.

  1. Der erste Teil bietet einen Einstieg in die Arbeit mit Python. Dabei legen wir Wert darauf, dass Sie schon früh Ihre ersten eigenen Programme entwickeln und testen können. Wir empfehlen Ihnen, das in diesem Teil erworbene Wissen in eigenen Python-Programmen anzuwenden. Wie bei der Programmierung allgemein gilt auch in Python, dass Learning by Doing die erfolgversprechendste Lernmethode ist.
  2. Der zweite Teil behandelt ausführlich die in Python vorhandenen Datentypen. Dabei werden numerische Datentypen, sequenzielle Datentypen, Zuordnungen, Mengen und Datentypen für Datums- bzw. Zeitangaben behandelt.
  3. Im dritten Teil stehen wichtige Konzepte im Vordergrund, die die Arbeit mit Python so angenehm machen, allerdings für den unerfahrenen Leser auch völliges Neuland darstellen können. Als große Oberthemen sind dabei Funktionen, Modularisierung und Objektorientierung zu nennen, die in Python eine zentrale Rolle spielen. Außerdem werden moderne Programmiertechniken wie Exception Handling, Iteratoren und Generatoren behandelt.
  4. Der vierte Teil konzentriert sich auf Pythons Batteries-included-Philosophie: Python sollte nach Möglichkeit alles in der Standardbibliothek mitbringen, was für die Entwicklung eigener Anwendungen erforderlich ist. Wir werden in diesem Teil auf viele der mitgelieferten Module eingehen und auch das ein oder andere Drittanbietermodul besprechen.
    Es lohnt sich, hier ein wenig zu stöbern und zu experimentieren, um später zu wissen, welche Hilfsmittel der Standardbibliothek zur Lösung eines Problems bereitstehen.
  5. Im fünften und letzten Teil behandeln wir weiterführende Themen wie die Distribution fertiger Python-Programme und -Module an Endanwender bzw. andere Entwickler, die Programmierung grafischer Benutzeroberflächen mit Tkinter und Qt oder eine Einführung in das wissenschaftliche Rechnen mit Python. Ein weiteres zentrales Thema dieses Teils ist die Interoperabilität zwischen Python und anderen Programmiersprachen bzw. Frameworks wie C, Java und .NET. Zum Ende des Buchs besprechen wir die Unterschiede zwischen den Python-Generationen 2 und 3.
 
Zum Seitenanfang

Wer sollte dieses Buch wie lesen? Zur vorigen ÜberschriftZur nächsten Überschrift

Dieses Buch richtet sich im Wesentlichen an zwei Typen von Lesern: diejenigen, die in die Programmierung mit Python einsteigen möchten und idealerweise bereits grundlegende Kenntnisse der Programmierung besitzen, und diejenigen, die mit der Sprache Python bereits mehr oder weniger vertraut sind und ihr Wissen vertiefen möchten. Für beide Typen ist dieses Buch bestens geeignet, da sowohl eine vollständige Einführung in die Programmiersprache als auch eine umfassende Referenz zur Anwendung von Python in vielen Bereichen geboten werden.

Im Folgenden möchten wir eine Empfehlung an Sie richten, wie Sie dieses Buch – abhängig von Ihrem Kenntnisstand – lesen sollten.

  • Als Programmieranfänger oder Umsteiger mit grundlegenden Kenntnissen in einer anderen Programmiersprache sollten Sie die ersten beiden Teile des Buchs sorgfältig durcharbeiten. Die Einführung wird Sie früh in die Lage versetzen, eigene Python-Programme zu schreiben. Nutzen Sie diese Chance, und programmieren Sie so viel wie möglich, bereits während Sie die Einführung lesen. Machen Sie sich darauf gefasst, dass der Anspruch ab Teil 2 rasch zunehmen wird, denn dieses Buch soll Sie in die Lage versetzen, Python professionell zu nutzen.
  • Wenn Sie bereits gut programmieren können und dieses Buch als Umstieg von einer anderen Sprache nach Python verwenden möchten, sollten Sie die ersten drei Teile des Buchs lesen, um die Syntax und die Konzepte von Python kennenzulernen und mögliche Wissenslücken zu füllen. Abhängig von Ihrem Kenntnisstand wird es Ihnen nicht schwerfallen, die Sprache Python zu erlernen. Im Anschluss daran können Sie Ihre Kenntnisse in den Teilen 4 und 5 vertiefen.
  • Als letzte Zielgruppe kommen erfahrene Python-Programmierer in Betracht. Sollte der Umgang mit Python für Sie zum alltäglichen Geschäft gehören, können Sie den ersten, zweiten und, je nach Kenntnisstand, auch den dritten Teil des Buchs überfliegen. Für Sie werden die letzten beiden Teile interessanter sein, die Ihnen als hilfreiches Nachschlagewerk dienen und weiterführende Informationen und hilfreiche Tipps zu speziellen Anwendungsthemen bieten.
 
Zum Seitenanfang

Beispielprogramme Zur vorigen ÜberschriftZur nächsten Überschrift

Als Ergänzung zu den abgedruckten Beispielen stellen wir Ihnen weitere Beispiele zur Verfügung, die sich aus verschiedenen Gründen nicht in diesem Buch befinden. Das betrifft z. B. umfangreichere Programme, deren technische Einzelheiten wir aus didaktischen Gründen nicht abdrucken wollen.

Sie können über das Onlineangebot zu diesem Buch unter www.rheinwerk-verlag.de/4467 auf diese Inhalte zugreifen.

 
Zum Seitenanfang

Übersicht zu den verschiedenen Auflagen Zur vorigen ÜberschriftZur nächsten Überschrift

Dieses Buch liegt Ihnen hiermit in der fünften Auflage vor. Im Folgenden finden Sie Bemerkungen und Erläuterungen zu den Neuerungen der verschiedenen Auflagen.

Neuerungen in der zweiten Auflage (2009)

Seit dem Erscheinen der ersten Auflage dieses Buchs im Frühjahr 2008 hat sich in der Python-Welt einiges bewegt. So ist mit Python 3.0 die Sprache grundlegend überarbeitet worden, wodurch sich für den Python-Programmierer einiges ändert. Insbesondere ist Python 3.0 nicht mehr kompatibel zu früheren Python-Versionen.

Aus diesem Grund haben wir das Buch vollständig überarbeitet und auf den neusten Stand gebracht. Wir haben besonderen Wert darauf gelegt zu verdeutlichen, wie sich Python 3.0 von früheren Versionen unterscheidet. Am Ende dieses Buchs stellen wir in einem Migrationskapitel die Unterschiede zwischen den Python-Versionen im Detail gegenüber und beschreiben, wie bestehende Python-Programme komfortabel an die neuste Version angepasst werden können.

Neuerungen in der dritten Auflage (2012)

Vier Jahre nach Erscheinen der ersten Auflage und drei Jahre nach der zweiten freuen wir uns, die dritte Auflage unseres Python-Handbuchs zu präsentieren. Wieder hat sich während dieser Zeit in der Python-Welt viel verändert. So ist Python 3.x inzwischen weitgehend akzeptiert und wird von den meisten Drittanbieterbibliotheken unterstützt.

Für die dritte Auflage haben wir das Buch noch einmal vollständig überarbeitet und insbesondere im Hinblick auf Übersichtlichkeit und die Verwendung als Nachschlagewerk verbessert. Auch unter didaktischen Gesichtspunkten sind wir das Buch durchgegangen und haben teilweise ganze Kapitel umstrukturiert. Selbstverständlich wurden alle Erklärungen und Beispiele an die aktuellste Python-Version angepasst.

Abgesehen von den angesprochenen Verbesserungen gibt es zwei neue Kapitel: eines über die Programmierung grafischer Benutzeroberflächen mit PyQt und eines über wissenschaftliches Rechnen mit NumPy und SciPy. Das PyQt-Kapitel war bereits in der ersten Auflage enthalten und konnte nun, da PyQt in einer mit Python 3 kompatiblen Version erschienen ist, wieder aufgenommen werden.

Neuerungen in der vierten Auflage (2015)

Nach den großen und aufregenden Umwälzungen mit Version 3.0 ist es in der Python-Welt wieder ruhiger geworden. Zum Zeitpunkt der Drucklegung der mittlerweile vierten, überarbeiteten Auflage dieses Buchs liegt Python in der Version 3.4 vor. Nach wie vor bringt jede neue Python-Version Änderungen in der Sprache mit sich, die mit in unsere Überarbeitung eingeflossen sind; eine große Veränderung hat es aber nicht gegeben. Aus diesem Grund haben wir das didaktische Konzept und die Zielsetzung des Buchs einer Überarbeitung und Aktualisierung unterzogen.

Während die vorangegangenen Auflagen in vielen Bereichen einen starken Referenzcharakter hatten, legen wir den Fokus dieser Auflage mehr auf den praxisorientierten Umgang mit Python. Trockene Referenzkapitel wurden zugunsten beispielorientierter Einführungen überarbeitet. Zudem sprechen wir neue Themen wie Bildverarbeitung oder die Interoperabilität zwischen Python und anderen Programmiersprachen an. Da das Webframework Django für die Entwicklung komplexer Internetauftritte nun auch mit Python 3 kompatibel ist, konnten wir das entsprechende Kapitel der ersten Auflage in überarbeiteter Form wieder aufnehmen.

Neuerungen der fünften Auflage (2017)

Die stetige Entwicklung von Python seit der Version 3.0 schreitet weiter voran: Mittlerweile ist Python 3.6 verfügbar. Genauso wie 2015 reagieren wir mit dieser Auflage auf die vielen eher kleineren Änderungen und Verbesserungen der Sprache. Natürlich sind auch etwaige Aktualisierungen von Drittanbieterbibliotheken in die entsprechenden Kapitel eingeflossen.

Neu in dieser Auflage ist die Abkehr von der nicht mehr zeitgemäßen Buch-CD hin zu einer Onlinelösung, um Ihnen nicht abgedruckte Beispielprogramme zugänglich zu machen. Durch diese Änderung können Sie einerseits komfortabel von jedem Internetanschluss aus auf die Inhalte zugreifen, andererseits haben wir dadurch die Möglichkeit, die Programme auch nach dem Erscheinen des Buchs weiter zu pflegen.

Wir haben diese Umstellung zum Anlass genommen, alle Beispiele – sowohl im Buch als auch auf der ehemaligen CD – einer kräftigen Überarbeitung zu unterziehen.

Zu guter Letzt beziehen wir uns in dieser Auflage auf die Python-Distribution Anaconda. Diese stellt eine vorkonfigurierte Python-Umgebung bereit, mit der sich fast alle Beispiele in diesem Buch ohne zusätzlichen Installationsaufwand nachvollziehen lassen. Für Sie als Leser hat dies zur Folge, dass Sie sich in den Kapiteln zu Drittanbieterbibliotheken nicht mehr mit teils umständlichen Installationsanweisungen herumplagen müssen.

Danksagung

Nachdem wir Ihnen das Buch vorgestellt und hoffentlich schmackhaft gemacht haben, möchten wir uns noch bei denjenigen bedanken, die uns bei der Ausarbeitung des Manuskripts begleitet, unterstützt und immer wieder zum Schreiben angetrieben haben.

Unser besonderer Dank gilt Prof. Dr. Ulrich Kaiser, der mit seiner konstruktiven Kritik und unzähligen Stunden des Korrekturlesens die Qualität des Buchs deutlich verbessert hat. Außerdem ist es seiner Initiative zu verdanken, dass wir überhaupt dazu gekommen sind, ein Buch zu schreiben. Wir sind sehr glücklich, dass wir von seiner Sachkenntnis und Erfahrung profitieren konnten.

Neben der fachlichen Korrektheit trägt auch die verwendete Sprache maßgeblich zur Qualität des Buchs bei. Dass sich dieses Buch so gut liest, wie es sich liest, haben wir Angelika Kaiser zu verdanken, die auch noch so kompliziert verschachtelte Satzgefüge in klare, gut verständliche Formulierungen verwandeln konnte.

Wir danken auch Herbert Ernesti dafür, dass er das fertige Werk noch einmal als Ganzes unter die Lupe genommen hat und viele nützliche Verbesserungsvorschläge machen konnte.

Die Anfängerfreundlichkeit der Erklärungen wurde von Anne Kaiser experimentell erprobt und für gut befunden – vielen Dank dafür.

Wir danken Dr. Daniel Weiß, der am Karlsruher Institut für Technologie (KIT) erstmals im Wintersemester 2015 eine Einführungsvorlesung zu Python auf Basis dieses Buchs konzipiert hat. Seine Anmerkungen konnten die Qualität des Buchs an einigen Stellen deutlich steigern.

Im Jahr 2017 wird die Vorlesung zum dritten Mal angeboten und erfreut sich weiterhin großer Beliebtheit. Von den zahlreichen Diskussionen mit Herrn Weiß und den Studenten hat insbesondere die didaktische Qualität des Buchs profitiert. Herr Weiß selbst schreibt zu seinen Erfahrungen mit Python:

»Immer wieder wurde von meinen Kollegen der Gedanke formuliert, die Vorzüge von Python im Rahmen von Lehre und Wissenschaft zu nutzen. Ich zögerte, da ich zu diesem Zeitpunkt noch keine Erfahrung mit Python gemacht hatte, mich in anderen Programmiersprachen gut auskannte. Nachdem Johannes Ernesti seine Unterstützung für eine Schlüsselqualifikation ›Einführung in Python‹ zugesagt hatte, fing ich an, mich mit Python zu beschäftigen. Das vorliegende Buch bildete einen idealen Einstieg. Dort werden interessante Themen auch bis in die Tiefe klar präsentiert. So war das Erlernen von Python sehr leicht.

Heute haben wir die Veranstaltung am Karlsruher Institut für Technologie bereits mehrfach angeboten. Das Interesse unter den Studierenden ist enorm, auch über die Mathematische Fakultät hinaus.«

Außerdem danken wir allen Mitarbeitern des Rheinwerk Verlags, die an der Erstellung dieses Buchs beteiligt waren. Namentlich hervorheben möchten wir dabei unsere Lektorinnen Judith Stevens-Lemoine und Anne Scheibe, die uns dabei geholfen haben, uns durch den Autorendschungel zu schlagen, und uns dabei alle Freiheiten für eigene Ideen gelassen haben.

Zum Schluss möchten wir uns noch bei allen Lesern der ersten Auflagen herzlich bedanken, deren unzählige E-Mails mit Hinweisen, Kommentaren, Kritik und Fehlerkorrekturen in die fünfte Auflage mit eingeflossen sind.

Karlsruhe, im Juni 2017

Johannes Ernestiernesti@python-buch.de

Peter Kaiserkaiser@python-buch.de

 


Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 
 
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Python 3 Python 3
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: Einstieg in Python
Einstieg in Python


Zum Rheinwerk-Shop: Python. Der Grundkurs
Python. Der Grundkurs


Zum Rheinwerk-Shop: Algorithmen mit Python
Algorithmen mit Python


Zum Rheinwerk-Shop: Objektorientierte Programmierung
Objektorientierte Programmierung


Zum Rheinwerk-Shop: Raspberry Pi. Das umfassende Handbuch
Raspberry Pi. Das umfassende Handbuch


Zum Rheinwerk-Shop: Roboter-Autos mit dem Raspberry Pi
Roboter-Autos mit dem Raspberry Pi


Zum Rheinwerk-Shop: Neuronale Netze programmieren mit Python
Neuronale Netze programmieren mit Python


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2020
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern