Python One-Liners (eBook)

Profi-Programmierung durch kurz gefasstes Python
eBook Download: EPUB
2021 | 1. Auflage
248 Seiten
dpunkt (Verlag)
978-3-96910-115-5 (ISBN)

Lese- und Medienproben

Python One-Liners -  Christian Mayer
Systemvoraussetzungen
29,90 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Python in seiner raffiniertesten Form Python Tipps und Tricks mit fortgeschrittenem Niveau Problemlösungen für den Programmieralltag NumPy-Grundlagen Python One-Liners zeigt Ihnen, wie man 'One Liners', Einzeiler, liest und schreibt: prägnante Ausdrücke zu nützlicher Funktionalität, verpackt in einer einzigen Codezeile. Sie lernen systematisch jede Zeile von Python-Code zu entschlüsseln und zu verstehen, und werden wie ein Experte eloquentes, stark komprimiertes Python schreiben. In den fünf Kapiteln des Buches werden Tipps und Tricks, reguläre Ausdrücke, Machine Learning, Kernthemen der Datenwissenschaft und hilfreiche Algorithmen behandelt. Die ausführlichen Erläuterungen von Einzeilern führen in wichtige Konzepte der Informatik ein und fördern Ihre Programmier- und Analysefähigkeiten. Sie lernen fortgeschrittene Python-Funktionen wie Listenverständnis, Slicing, Lambda-Funktionen, reguläre Ausdrücke, Map- und Reduce-Funktionen und Slice-Zuweisungen kennen. Sie erwerben darüber hinaus Kenntnisse in diesen Bereichen: - Nutzung von Datenstrukturen zur Lösung von Problemen aus der realen Welt, wie z. B. die Verwendung boolescher Indizierung zum Auffinden von Städten mit überdurchschnittlicher Umweltverschmutzung. - Verwendung der NumPy-Grundlagen wie Array, Form, Achse, Typ, Broadcasting, fortgeschrittene Indizierung, Slicing, Sortierung, Suche, Aggregation und Statistik. - Berechnen Sie grundlegende Statistiken von mehrdimensionalen Datenfeldern und die K-Means-Algorithmen für unsupervised Learning. - Erstellen Sie fortgeschrittenere reguläre Ausdrücke unter Verwendung von Gruppierungs- und benannten Gruppen, negativen Lookaheads, maskierten Zeichen, Leerzeichen, Zeichensätzen (und negativen Zeichensätzen) und greedy/non greedy Operatoren. - Ein breites Spektrum von Informatik-Themen verstehen, einschließlich Anagramme, Palindrome, Obermengen, Permutationen, Fakultäten, Primzahlen, Fibonacci-Zahlen, Obfuszierung, Suche und algorithmische Sortierung. Am Ende des Buches werden Sie wissen, wie man Python in seiner raffiniertesten Form schreibt und prägnante, schöne Python-Kunstwerke in nur einer einzigen Zeile schafft.

Christian Mayer hat einen Doktortitel in Informatik und ist der Gründer der beliebten Python-Site Finxter (https:blog.finxter.com). Mayer ist außerdem der Autor der Coffee Break Python-Reihe.

Christian Mayer hat einen Doktortitel in Informatik und ist der Gründer der beliebten Python-Site Finxter (https:blog.finxter.com). Mayer ist außerdem der Autor der Coffee Break Python-Reihe.

Einführung


Mit diesem Buch möchte ich Ihnen helfen, zum Python-Experten zu werden. Wir konzentrieren uns dabei auf Python-Einzeiler: knappe Programme, gepackt in eine einzige Zeile Python. Durch die Einzeiler lernen Sie, Code schneller und präziser zu lesen und zu schreiben und Ihr Verständnis der Sprache zu verbessern.

Es gibt außerdem noch fünf weitere Gründe, weshalb ich glaube, dass Python-Einzeiler Ihnen helfen, sich zu verbessern, und deshalb lohnenswerte Studienobjekte sind.

Erstens, durch das Verbessern Ihrer Python-Kernfähigkeiten werden Sie in die Lage versetzt, viele der kleinen Programmierschwächen zu überwinden, die Sie bremsen. Es ist nicht leicht, Fortschritte zu erzielen, wenn man die Grundlagen nicht richtig verstanden hat. Einzelne Codezeilen sind die Grundbausteine jedes Programms. Wenn Sie diese Grundbausteine verstehen, können Sie auch komplexere Probleme meistern, ohne dass Sie diese überfordern.

Zweitens lernen Sie, die unglaublich beliebten Python-Bibliotheken auszunutzen, wie diejenigen für Data Science und Machine Learning. Das Buch besteht aus fünf Einzeiler-Kapiteln, die jeweils einem eigenen Bereich von Python gewidmet sind, von regulären Ausdrücken bis zum Machine Learning. Durch diese Vorgehensweise erhalten Sie einen Überblick über mögliche Python-Anwendungen und lernen darüber hinaus, diese machtvollen Bibliotheken einzusetzen.

Drittens lernen Sie, Code auf Python-spezifischere Weise zu schreiben. Python-Anfänger, speziell solche, die vorher mit anderen Programmiersprachen gearbeitet haben, schreiben Code oft auf sehr Python-untypische Weise. Wir behandeln Python-spezifische Konzepte wie List Comprehensions, Mehrfachzuweisungen und Slicing, mit deren Hilfe Sie Code schreiben können, der gut lesbar ist und sich dafür eignet, ihn mit anderen Programmierern zu teilen.

Viertens zwingt die Beschäftigung mit Python-Einzeilern Sie dazu, klar und präzise zu denken. Wenn jedes einzelne Codesymbol zählt, bleibt kein Platz für zerstreutes und unkonzentriertes Programmieren.

Fünftes erlauben es Ihnen Ihre neuen Fähigkeiten, übermäßig komplizierte Python-Codeprojekte zu durchschauen und Freunde wie Arbeitgeber gleichermaßen zu beeindrucken. Außerdem dürfte es Ihnen Spaß machen, anspruchsvolle Programmierprobleme mit nur einer einzigen Zeile Code zu lösen. Und Sie wären damit nicht allein: Eine aktive Online-Community aus Python-Geeks wetteifert um die kompaktesten, Python-typischsten Lösungen für verschiedene praktische (und nicht so praktische) Probleme.

Ein Beispiel für einen Python-Einzeiler


Die zentrale These dieses Buchs ist, dass das Lernen von Python-Einzeilern entscheidend für das Verständnis anspruchsvollerer Codeprojekte sowie ein ausgezeichnetes Werkzeug für die Verbesserung Ihrer Fähigkeiten ist. Bevor Sie verstehen, was in einer Codebasis mit Tausenden von Zeilen passiert, müssen Sie die Bedeutung einer einzelnen Codezeile verstehen.

Schauen wir uns einen Python-Einzeiler an. Es macht nichts, wenn Sie nicht alles verstehen. Sie werden diesen Einzeiler in Kapitel 6 meistern.

q = lambda l: q( [x for x in l[1:] if x <= l[0]]) + [l[0]] + q([x for x in

l if x > l[0]]) if l else []

Dieser Einzeiler ist eine wunderbare und präzise Möglichkeit, den berühmten Quicksort-Algorithmus kurz und knapp zusammenzufassen, auch wenn seine Bedeutung für viele Anfänger und selbst für fortgeschrittene Anfänger schwierig zu durchschauen sein dürfte.

Python-Einzeiler bauen oft aufeinander auf, sodass die Einzeiler im Laufe des Buchs immer komplexer werden. Wir beginnen hier mit einfachen Einzeilern, die dann später die Grundlage für komplexere Einzeiler bilden werden. So ist zum Beispiel der gezeigte Quicksort-Einzeiler schwierig und lang, basiert aber auf dem einfacheren Konzept der List Comprehension . Schauen Sie sich die folgende einfachere List Comprehension an, die eine Liste aus Quadratzahlen erzeugt:

lst = [x**2 for x in range(10)]

Wir können diesen Einzeiler in noch einfachere Einzeiler zerlegen, die uns wichtige Python-Grundlagen lehren, wie Variablenzuweisungen, mathematische Operatoren, Datenstrukturen, for-Schleifen, Zugehörigkeitsoperatoren und die range()-Funktion – und all dies in einer einzigen Zeile Python!

Seien Sie sich bewusst, dass grundlegend nicht gleichbedeutend ist mit trivial. Alle Einzeiler, die wir uns anschauen, sind sinnvoll und nützlich, und jedes Kapitel befasst sich mit einem eigenen Bereich oder einer Disziplin der Informatik, sodass Sie am Ende einen umfassenden Eindruck von der Stärke gewonnen haben werden, die Python Ihnen bietet.

Ein Hinweis zur Lesbarkeit


The Zen of Python fasst 19 Leitsätze für die Programmiersprache Python zusammen. Sie können sie in Ihrer Python-Shell lesen, indem Sie import this eingeben:

>>> import this

The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

-- schnipp --

Laut The Zen of Python ist Lesbarkeit wichtig – »Readability counts«. Einzeiler sind minimalistische Programme zum Lösen von Problemen. In vielen Fällen wird durch das Umformulieren eines Stücks Code in einen Python-Einzeiler die Lesbarkeit verbessert, und der Code wird Python-artiger. Ein Beispiel ist die Verwendung von List Comprehension, um das Erzeugen von Listen auf eine einzelne Codezeile zu reduzieren. Schauen Sie sich das folgende Beispiel an:

# VORHER

squares = []

for i in range(10):

squares.append(i**2)

print(squares)

# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

In diesem Codeausschnitt brauchen wir fünf Zeilen Code, um eine Liste der ersten zehn Quadratzahlen zu erzeugen und auf der Shell auszugeben. Da ist es doch viel besser, wenn man eine Einzeilerlösung benutzt, die dasselbe in einer besser lesbaren und präzisen Weise erreicht:

# NACHHER

print([i**2 for i in range(10)])

# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Das Ergebnis ist identisch, doch der Einzeiler setzt auf das Python-spezifische Konzept der List Comprehension. Er ist leichter lesbar und prägnanter.

Es kann aber auch schwierig sein, Python-Einzeiler zu verstehen. In manchen Fällen ist eine Python-Einzeilerlösung nicht lesbarer. Doch genau wie ein Schachmeister, der alle möglichen Züge kennen muss, bevor er sich für einen entscheiden kann, der ihm als der beste erscheint, müssen Sie alle Möglichkeiten kennen, Ihre Gedanken in Code auszudrücken, um zu entscheiden, welche die beste ist. Nach der schönsten Lösung zu streben, ist gar nicht so unwichtig; schließlich findet sich dieses Prinzip im Herzen des Python-Ökosystems. Wie uns The Zen of Python lehrt, ist schön besser als hässlich: »Beautiful is better than ugly«.

An wen richtet sich dieses Buch?


Sind Sie Anfänger oder fortgeschrittener Anfänger? Wie viele Ihrer Kollegen stecken auch Sie möglicherweise im Programmierprozess. Dieses Buch kann Ihnen aus dieser Lage heraushelfen. Sie haben online viele Programmieranleitungen gelesen. Sie haben Ihren eigenen Quellcode geschrieben und erfolgreich kleine Projekte ausgeliefert. Sie haben einen Programmiergrundkurs abgeschlossen und ein oder zwei Fachbücher zur Programmierung gelesen. Vielleicht haben Sie sogar einen Kurs an der Uni absolviert, bei dem Sie die Grundlagen von Informatik und Programmierung kennengelernt haben.

Vielleicht werden Sie durch bestimmte Überzeugungen beschränkt, etwa, dass die meisten Programmierer Quellcode viel schneller verstehen als Sie oder dass Sie auf keinen Fall zu den zehn Prozent besten Programmierern gehören. Falls Sie lernen wollen, besser zu programmieren und zur Spitze vorzudringen, müssen Sie neue, nützliche Fähigkeiten erwerben.

Ich kann Ihre Probleme nachvollziehen. Als ich vor zehn Jahren begann, Informatik zu studieren, war ich überzeugt, dass ich nichts über das Programmieren wusste. Gleichzeitig schien mir, als seien alle meine Kommilitonen bereits sehr erfahren und kompetent.

Ich möchte Ihnen mit diesem Buch helfen, diese einschränkenden Überzeugungen zu überwinden und einen entscheidenden Schritt zum Meistern von Python zu...

Erscheint lt. Verlag 29.3.2021
Reihe/Serie Programmieren mit Python
Übersetzer Kathrin Lichtenberg
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Informatik Programmiersprachen / -werkzeuge Python
Schlagworte Aufgaben • Debugging • GUI-Automatisierung • Lambda-Funktionen • machine learning • NumPy • PDF • Reguläre Ausdrücke • schritt für schritt • slicing • Web Scraping • WORD
ISBN-10 3-96910-115-8 / 3969101158
ISBN-13 978-3-96910-115-5 / 9783969101155
Haben Sie eine Frage zum Produkt?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
EPUBEPUB (Wasserzeichen)
Größe: 3,0 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
Für Ein- und Umsteiger

von Bernd Klein

eBook Download (2021)
Carl Hanser Verlag GmbH & Co. KG
24,99
Für Ein- und Umsteiger

von Bernd Klein

eBook Download (2021)
Carl Hanser Verlag GmbH & Co. KG
24,99