Hitchhiker's Guide für Python -  Kenneth Reitz,  Tanya Schlusser

Hitchhiker's Guide für Python (eBook)

Best Practices für Programmierer
eBook Download: EPUB
2017 | 1. Auflage
336 Seiten
O'Reilly Verlag
978-3-96010-328-8 (ISBN)
Systemvoraussetzungen
29,90 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Sind Sie bereit, ein echter Pythonista zu werden? Dann wird dieses Buch Ihr treuer Begleiter. Es bietet geballtes Insider-Know-how zu Best Practices und den bevorzugten Werkzeugen der Python-Community. Sie werden Ihre Python-Kenntnisse entscheidend verbessern - ob Sie einfach nur neugierig sind, als Normalsterblicher zu Open-Source-Projekten beitragen oder ein Unternehmen rund um Python aufbauen möchten. Dieses Buch wurde im Rahmen eines Gemeinschaftsprojekts von über einhundert Mitgliedern der Python-Community geschrieben. In Teil 1 geht es um das Einrichten der Python-Umgebung (Interpreter, Python-Installation, Texteditor, IDE). Dann tauchen Sie in Beispiel-Code ein, der den Python-Stil mustergültig umsetzt. Teil 3 macht Sie mit Bibliotheken vertraut, die von der Python-Community bevorzugt genutzt werden. - Entwickeln Sie besseren Python-Code, indem Sie Stil, Konventionen, Idiome und Fallstricke kennenlernen. - Sehen Sie sich exzellente Open-Source-Codebeispiele ausgewählter Python-Bibliotheken an. - Studieren Sie Best Practices für die Paketierung und Distribution von Python-Code. - Erkunden Sie Pythons Bibliotheken für die Benutzer-Interaktion - von Konsolenanwendungen über GUIs bis hin zu Webapplikationen. - Lernen Sie Tools für die Systemadministration sowie das Interfacing mit C- und C++-Bibliotheken kennen und verbessern Sie die Geschwindigkeit von Python. - Arbeiten Sie mit Netzwerk-Bibliotheken für asynchrone Aktionen, Serialisierung und Kryptografie. - Lernen Sie Bibliotheken zur Datenpersistenz und -manipulation kennen, darunter auch Werkzeuge zur Bild- und Audioverarbeitung. Prägnant und meinungsstark nimmt Sie der Hitchhiker's Guide mit auf eine Pro-Tour durch das Python-Universum. Raymond Hettinger, Python Core Developer

Kenneth Reitz ist Product Owner von Python bei Heroku und Fellow der Python Software Foundation. Er ist für seine vielen Open-Source-Projekte bekannt, insbesondere 'Requests: HTTP for Humans'. Tanya Schlusser arbeitet als unabhängige Beraterin. Sie wertet Daten aus, um ihre Kunden bei strategischen Entscheidungen zu unterstützen. Sie hat über 1 000 Stunden Data-Science-Training für Einzelpersonen und Unternehmen abgehalten. Tanya pflegt ihre Mutter, die an Alzheimer leidet.

Kenneth Reitz ist Product Owner von Python bei Heroku und Fellow der Python Software Foundation. Er ist für seine vielen Open-Source-Projekte bekannt, insbesondere "Requests: HTTP for Humans". Tanya Schlusser arbeitet als unabhängige Beraterin. Sie wertet Daten aus, um ihre Kunden bei strategischen Entscheidungen zu unterstützen. Sie hat über 1 000 Stunden Data-Science-Training für Einzelpersonen und Unternehmen abgehalten. Tanya pflegt ihre Mutter, die an Alzheimer leidet.

KAPITEL 1


Einen Interpreter wählen


Stand der Dinge: Python 2 versus Python 3


Bei der Wahl eines Python-Interpreters geistert immer die eine Frage durch den Raum: »Soll ich Python 2 oder Python 3 nehmen«? Die Antwort liegt nicht so auf der Hand, wie man glauben mag (auch wenn Python 3 jeden Tag verlockender wird).

Hier der Stand der Dinge:

  • Python 2.7 war lange Zeit der Standard.
  • Bei Python 3 wurden größere Änderungen an der Sprache vorgenommen, über die einige Entwickler sehr unglücklich sind.1
  • Python 2.7 erhält notwendige Sicherheits-Updates bis 2020 (https://www.python.org/dev/peps/pep-0373/).
  • Python 3 entwickelt sich kontinuierlich weiter, genau wie in der Vergangenheit Python 2.

Wie Sie sehen, ist die Entscheidung nicht ganz so einfach.

Empfehlungen


So wie wir es sehen, würde ein wirklich abgefahrener Typ2 Python 3 nutzen. Doch auch wenn Sie lediglich Python 2 einsetzen können, nutzen Sie immerhin noch Python. Hier unsere Empfehlungen:

Verwenden Sie Python 3, wenn …

  • Sie Python 3 lieben.
  • Sie nicht wissen, welche Version Sie nutzen sollen.
  • Sie den Wandel lieben.

Verwenden Sie Python 2, wenn …

  • Sie Python 2 lieben und traurig sind, weil Python 3 die Zukunft ist.
  • die Stabilitätsanforderungen Ihrer Software betroffen wären.3
  • die von Ihnen genutzte Software es verlangt.

Also … Python 3?


Sind Sie bei der Wahl des Python-Interpreters offen, sollten Sie die neueste Python 3.x-Version einsetzen – jede neue Version bringt neue und verbesserte Module der Standardbibliothek, eine verbesserte Sicherheit und Fehlerkorrekturen. Fortschritt ist Fortschritt. Nutzen Sie Python 2 also nur aus guten Gründen, z.B. wenn Sie eine Python 2-Bibliothek benötigen, für die es bei Python 3 keine Alternative gibt, oder wenn Sie eine bestimmte Implementierung verwenden müssen (siehe »Implementierungen« auf Seite 5) oder wenn Sie (wie einige von uns) von Python 2 begeistert sind.

Schauen Sie sich Can I Use Python 3? (https://caniusepython3.com/) an, wenn Sie wissen wollen, ob die Python-Projekte, von denen Sie abhängig sind, die Nutzung von Python 3 verhindern.

Als weiterführende Lektüre sei Python2orPython3 (http://bit.ly/python2-or-python3) empfohlen. Es erklärt die Gründe für die Rückwärts-Inkompatibilität der Sprachspezifikation und verweist auf detaillierte Spezifikationen der Unterschiede.

Als Einsteiger haben Sie weit wichtigere Dinge zu tun, als sich um die Kompatibilität zwischen all den Python-Versionen Gedanken zu machen. Bringen Sie Ihr vorhandenes System erst mal ans Laufen und kümmern Sie sich später um diese Baustelle.

Implementierungen


Wenn die Leute von Python sprechen, ist häufig nicht nur die Sprache, sondern auch die CPython-Implementierung gemeint. Tatsächlich ist Python eine Sprachspezifikation, die auf unterschiedliche Weise implementiert werden kann.

Die verschiedenen Implementierungen können der Kompatibilität mit anderen Bibliotheken dienen oder vielleicht einer höheren Geschwindigkeit. Reine Python-Bibliotheken sollten unabhängig von der Python-Implementierung laufen, die auf C basierenden (wie NumPy) allerdings nicht. Dieser Abschnitt bietet einen kurzen Überblick über beliebte Implementierungen.

Dieses Handbuch geht davon aus, dass Sie die Standard-CPython-Implementierung von Python 3 nutzen, auch wenn wir häufig für Python 2 relevante Hinweise einstreuen.

CPython

CPython (http://www.python.org/) ist die in C geschriebene Referenzimplementierung4 von Python. Sie kompiliert Python-Code in Bytecode, der dann von einer virtuellen Maschine interpretiert wird. CPython bietet den höchsten Grad an Kompatibilität für Python-Pakete und in C geschriebene Erweiterungsmodule.5

Wenn Sie Open-Source-Code in Python entwickeln und das größtmögliche Publikum erreichen wollen, sollten Sie CPython nutzen. Möchten Sie Pakete nutzen, die von C-Erweiterungen abhängig sind, ist CPython Ihre einzige Option.

Alle Versionen der Sprache Python sind in C implementiert, da CPython die Referenzimplementierung ist.

Stackless

Stackless Python (https://bitbucket.org/stackless-dev/stackless/wiki/Home) ist ein »normales« CPython (d.h., es sollte mit allen Bibliotheken funktionieren, die CPython nutzen kann), entkoppelt aber über einen Patch den Python-Interpreter vom Aufrufstack. Dadurch wird es möglich, die Ausführungsreihenfolge des Codes zu ändern. Stackless führt das Konzept sogenannter Tasklets ein, die Funktionen in »Micro-Threads« umwandeln. Diese können dann serialisiert auf die Festplatte gespeichert und später über einen Scheduler (standardmäßig ein Round-Robin-Scheduler) ausgeführt werden.

Die greenlet-Bibliothek (http://greenlet.readthedocs.org) implementiert den gleichen Stack-Switching-Mechanismus für CPython-Nutzer. Ein Großteil dieser Funktionalität wurde auch in PyPy implementiert.

PyPy

PyPy (http://pypy.org/) ist ein Python-Interpreter, der eine statisch typisierte Teilmenge von Python namens RPython implementiert, was bestimmte Arten der Optimierung ermöglicht. Der Interpreter bietet einen Just-in-Time-Compiler und unterstützt mehrere Backends wie C, Common Intermediate Language (CIL) (http://bit.ly/standard-ecma-335) und die Java Virtual Machine (JVM).

PyPy strebt die größtmögliche Kompatibilität mit der Referenzimplementierung an, während es gleichzeitig die Performance erhöht. Wenn Sie die Performance Ihres Python-Codes verbessern wollen, sollten Sie PyPy eine Chance geben. Bei einer Benchmark-Suite läuft es momentan etwa fünfmal schneller als CPython (http://speed.pypy.org/).

Es unterstützt Python 2.7. Für Python 3 steht PyPy3 (http://pypy.org/compat.html) bereit. Beide Versionen sind über die PyPy-Download-Seite (http://pypy.org/download.html) verfügbar.

Jython

Jython (http://www.jython.org/) ist eine Implementierung des Python-Interpreters, die den Python-Code in Java-Bytecode kompiliert, der dann durch die JVM ausgeführt werden kann. Darüber hinaus kann Jython jede Java-Klasse wie ein Python-Modul importieren und nutzen.

Wenn Sie eine Schnittstelle zur existierenden Java-Codebasis brauchen oder aus anderen Gründen Python-Code für die JVM schreiben müssen, ist Jython die beste Wahl.

Jython unterstützt momentan Python 2.7 (http://bit.ly/jython-supports-27).

IronPython

IronPython (http://ironpython.net/) ist eine Python-Implementierung für das .NET Framework. Es kann Bibliotheken sowohl von Python als auch von .NET Framework nutzen und gleichzeitig Python-Code für andere Sprachen des .NET Framework bereitstellen.

Python Tools for Visual Studio (http://ironpython.net/tools/) integriert IronPython direkt in die Entwicklungsumgebung und macht es so zur idealen Wahl für Windows-Entwickler.

IronPython unterstützt Python 2.7 (http://ironpython.codeplex.com/releases/view/81726).

PythonNet

Python for .NET (http://pythonnet.github.io/) ist ein Paket, das eine nahezu nahtlose Integration eines nativ installierten Python-Systems mit der .NET Common Language Runtime (CLR) erlaubt. Das ist das genaue Gegenteil des von IronPython verfolgten Ansatzes, das heißt, PythonNet und IronPython ergänzen sich eher, als dass sie miteinander konkurrieren.

Im Zusammenspiel mit Mono (http://www.mono-project.com/) ermöglicht Python-Net auf Nicht-Windows-Systemen wie OS X und Linux die Arbeit innerhalb des .NET Framework. Es kann ohne Probleme zusammen mit IronPython betrieben werden.

PythonNet unterstützt Python 2.3 bis Python 2.7. Die Installationsanweisungen finden Sie auf der PythonNet-Readme-Seite (http://pythonnet.github.io/readme.html).

Skulpt

Skulpt (http://www.skulpt.org/) ist eine JavaScript-Implementierung von Python. Sie portiert nicht die gesamte Standardbibliothek von CPython. Die Bibliothek umfasst die Module math, random, turtle, image und unittest sowie Teile von time, urllib, DOM und re. Es ist für Lehrzwecke gedacht und bietet auch die Möglichkeit, eigene Module einzubinden (http://bit.ly/skulpt-adding-module).

Beachtenswerte Beispiele für seine Nutzung sind Interactive Python (http://interactivepython.org/) und...

Erscheint lt. Verlag 26.7.2017
Reihe/Serie Animals
Animals
Übersetzer Peter Klicman
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Schlagworte Ansible • argparse • Atom • bbFreeze • cliff • Code Style Guide • CPython • Diamond • Docker • docopt • Eric • Flask • GitHub • GTK+ • IDE • IDLE • Interpreter • IronPython • Jython • Kivy • Kryptografie • Lizenzen • MircoPython • PEPS • PIP • Plac • Puppet • py2app • py2exe • PyCharm • PyInstaller • PyPI • pypy • pyramid • Pythonic • PythonNet • Python Software Foundation • Qt • SciPy • Skulpt • Spieleprogrammierung • Spyder • Stackless Python • Systemadministration • Tablib • Text Editoren • virtualenv • Webentwicklung • WingIDE
ISBN-10 3-96010-328-X / 396010328X
ISBN-13 978-3-96010-328-8 / 9783960103288
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 1,3 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das Handbuch für Webentwickler

von Philip Ackermann

eBook Download (2023)
Rheinwerk Computing (Verlag)
37,43
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
33,68