Book description
Dieses Buch richtet sich an Programmierer, die bereits Kenntnisse der Python-Programmierung besitzen, diese aber ausbauen wollen.Der Weg zum Python Profi ist mehr als eine bloße Sammlung meisterhafter Tipps für das Schreiben von sauberem Code. Es zeigt, wie Programmierer und Programiererinnen die Kommandozeile bedienen und andere professionelle Tools wie Code-Formatierer, Type Checkers, Linters und Versionskontrolle verwenden können. Al Sweigart führt durch bewährte Praktiken für die Einrichtung der Entwicklungsumgebung, die Benennung von Variablen und die Verbesserung der Lesbarkeit und geht dann auf Dokumentation, Organisation, Leistungsmessung, objektorientiertes Design und sogar Big-O-Algorithmus-Analyse ein. Die Hinweise und Anleitungen des Buchs werden vorhandene Programmierfähigkeiten deutlich verbessern - nicht nur in Python, sondern in jeder Sprache.
Table of contents
- Cover
- Titel
- Impressum
- Inhalt
- Widmung
- Der Autor
- Der Fachgutachter
- Danksagung
- Einleitung
-
1 Fehlermeldungen und Recherche
- Python-Fehlermeldungen verstehen
- Tracebacks untersuchen
- Fehlermeldungen recherchieren
- Fehler vermeiden mit Lintern
- Um Hilfe bitten
- Geben Sie gleich ausreichend Informationen, um Rückfragen zu vermeiden
- Formulieren Sie Ihre Fragen als Fragen
- Stellen Sie Ihre Fragen auf einer geeigneten Website
- Geben Sie das Problem in der Überschrift an
- Erklären Sie, was der Code tun soll
- Geben Sie die vollständige Fehlermeldung an
- Teilen Sie Ihren Code vollständig mit
- Gestalten Sie Ihren Code durch saubere Formatierung lesbar
- Beschreiben Sie, was Sie bereits versucht haben
- Beschreiben Sie Ihre Ausstattung
- Ein Beispiel für eine gut gestellte Frage
- Zusammenfassung
-
2 Die Einrichtung der Umgebung und die Befehlszeile
- Das Dateisystem
- Pfade in Python
- Das Benutzerverzeichnis
- Das aktuelle Arbeitsverzeichnis
- Absolute und relative Pfade
- Programme und Prozesse
- Die Befehlszeile
- Ein Terminalfenster öffnen
- Programme an der Befehlszeile ausführen
- Befehlszeilenargumente
- Python-Code mit –c an der Befehlszeile ausführen
- Python-Programme an der Befehlszeile ausführen
- Py.exe
- Befehle aus einem Python-Programm heraus ausführen
- Tipparbeit durch Tabulatorvervollständigung sparen
- Der Befehlsverlauf
- Gebräuchliche Befehle
- PATH und andere Umgebungsvariablen
- Umgebungsvariablen anzeigen
- Die Umgebungsvariable PATH
- Die Umgebungsvariable PATH in der Befehlszeile ändern
- Ordner in Windows dauerhaft zu PATH hinzufügen
- Ordner in macOS und Linux dauerhaft zu PATH hinzufügen
- Python-Programme außerhalb der Befehlszeile ausführen
- Python-Programme in Windows ausführen
- Python-Programme in macOS ausführen
- Python-Programme in Ubuntu Linux ausführen
- Zusammenfassung
-
3 Codeformatierung mit Black
- Wie man Freunde und Kollegen vergrault
- PEP 8 und andere Stilrichtlinien
- Horizontale Abstände
- Leerzeichen zur Einrückung verwenden
- Abstände innerhalb einer Zeile
- Vertikale Abstände
- Beispiel für vertikale Abstände
- Empfohlene Vorgehensweisen für vertikale Abstände
- Black: Der kompromisslose Codeformatierer
- Black installieren
- Black an der Befehlszeile ausführen
- Black für einzelne Abschnitte Ihres Codes ausschalten
- Zusammenfassung
- 4 Aussagekräftige Namen
-
5 Codegerüche
- Duplizierter Code
- Magische Zahlen
- Auskommentierter und toter Code
- Print-Debugging
- Variablen mit numerischen Suffixen
- Klassen statt Funktionen oder Module
- Verschachtelte Listennotation
- Leere except-Blöcke und nichtssagende Fehlermeldungen
- Legenden über Code Smells
- Legende: Funktionen sollten nur eine return-Anweisung am Ende aufweisen
- Legende: Funktionen mit einer try-Anweisung dürfen keine anderen Anweisungen enthalten
- Legende: Flag-Argumente sind schlecht
- Legende: Globale Variablen sind schlecht
- Legende: Kommentare sind unnötig
- Zusammenfassung
-
6 Pythonischer Code
- Python-Zen
- Aussagekräftige Einrückungen
- Leistung mit dem Modul timeit messen
- Häufig falsch angewendete Syntax
- Verwenden Sie enumerate() statt range()
- Verwenden Sie with statt open() und close()
- Verwenden Sie is statt == zum Vergleich mit None
- Stringformatierung
- Verwenden Sie Rohstrings bei einer großen Anzahl von Backslashes
- F-Strings
- Flache Kopien von Listen
- Pythonischer Umgang mit Dictionarys
- Verwenden Sie get() und setdefault() für Dictionarys
- Verwenden Sie collections.defaultdict für Standardwerte
- Verwenden Sie Dictionarys statt switch-Konstruktionen
- Bedingte Ausdrücke: Pythons »hässlicher« ternärer Operator
- Variablenwerte
- Zuweisungs- und Vergleichsoperatoren verketten
- Eine Variable auf Gleichheit mit mehreren Werten prüfen
- Zusammenfassung
-
7 Programmierjargon
- Definitionen
- Die Sprache Python und der Interpreter Python
- Garbage Collection
- Literale
- Schlüsselwörter
- Objekte, Werte und Identitäten
- Elemente
- Veränderbare und unveränderbare Objekte
- Indizes, Schlüssel und Hashes
- Container-, Folgen-, Maps- und Set-Datentypen
- Dunder- oder magische Methoden
- Module und Pakete
- Aufrufbare Objekte und Objekte erster Klasse
- Häufig verwechselte Begriffe
- Anweisungen und Ausdrücke
- Blöcke, Klauseln und Rümpfe
- Variablen und Attribute
- Funktionen und Methoden
- Iterierbare Objekte und Iteratoren
- Syntax-, Laufzeit- und semantische Fehler
- Parameter und Argumente
- Implizite und explizite Typumwandlung
- Eigenschaften und Attribute
- Bytecode und Maschinencode
- Skripte und Programme, Skriptsprachen und Programmiersprachen
- Bibliotheken, Frameworks, SDKs, Engines und APIs
- Zusammenfassung
- Literatur
- 8 Häufige Fallstricke in Python
- 9 Exotische Eigenarten von Python
-
10 Zweckmäßige Funktionen
- Funktionsnamen
- Der Umfang von Funktionen
- Funktionsparameter und -argumente
- Standardargumente
- Argumente mit * und ** an Funktionen übergeben
- Variadische Funktionen mit * erstellen
- Variadische Funktionen mit ** erstellen
- Wrapper-Funktionen mit * und ** erstellen
- Funktionale Programmierung
- Nebenwirkungen
- Funktionen höherer Ordnung
- Lambda-Funktionen
- Zuordnung und Filterung mit Listennotation
- Der Datentyp von Rückgabewert
- Ausnahmen auslösen oder Fehlercodes zurückgeben
- Zusammenfassung
-
11 Kommentare, Docstrings und Typhinweise
- Kommentare
- Formatierung von Kommentaren
- Inline-Kommentare
- Erklärende Kommentare
- Kommentare zur Gliederung
- »Lessons-Learned-Kommentare«
- Rechtliche Hinweise
- Professionelle Formulierung
- Codetags und TODO-Kommentare
- Magische Kommentare und Quelldateicodierung
- Docstrings
- Typhinweise
- Tools zur statischen Analyse
- Typhinweise für mehrere Typen
- Typhinweise für Listen, Dictionarys u. Ä
- Rückportierung von Typhinweisen mithilfe von Kommentaren
- Zusammenfassung
-
12 Versionssteuerung mit Git
- Commits und Repositorys in Git
- Neue Python-Projekte mit Cookiecutter erstellen
- Git installieren
- Git-Benutzername und E-Mail-Adresse angeben
- GUI-Werkzeuge für Git installieren
- Der Arbeitsablauf in Git
- Der Dateistatus in Git
- Wozu gibt es bereitgestellte Dateien?
- Ein Git-Repository erstellen
- Zu verfolgende Dateien hinzufügen
- Einzelne Dateien ignorieren
- Änderungen mit Commit bestätigen
- Änderungen mit git diff vor dem Commit einsehen
- Änderungen mit git difftool in einer GUI-Anwendung einsehen
- Häufigkeit von Commits
- Dateien löschen
- Dateien umbenennen und verschieben
- Das Commitprotokoll einsehen
- Frühere Versionen wiederherstellen
- Unbestätigte lokale Änderungen rückgängig machen
- Bereitstellung einer Datei aufheben
- Die letzten Commits zurücknehmen
- Zurücksetzen einer einzelnen Datei zu einem bestimmten Commit
- Den Commitverlauf ändern
- GitHub und git push
- Ein bestehendes Repository auf GitHub übertragen
- Ein GitHub-Repository klonen
- Zusammenfassung
-
13 Leistungsmessung und Algorithmusanalyse
- Das Modul timeit
- Der Profiler cProfile
- Komplexitätsanalyse
- Ordnungen
- Ein Bücherregal als Metapher für Ordnungen
- Worst Case und Best Case
- Die Ordnung Ihres Codes bestimmen
- Warum Terme niedriger Ordnungen und Koeffizienten keine Rolle spielen
- Beispiele für die Komplexitätsanalyse
- Die Ordnung gängiger Funktionsaufrufe
- Komplexitätsanalyse im Überblick
- Die Ordnung spielt bei kleinem n keine Rolle – und n ist gewöhnlich klein
- Zusammenfassung
- 14 Praxisprojekte
-
15 Klassen
- Formulare als Veranschaulichung
- Objekte aus Klassen erstellen
- Eine einfache Klasse erstellen: WizCoin
- Methoden, __init__() und der Parameter self
- Attribute
- Private Attribute und private Methoden
- Die Funktion type() und das Attribut __qualname__
- OOP- und Nicht-OOP-Code im Vergleich
- Klassen für reale Objekte
- Zusammenfassung
-
16 Vererbung
- Wie Vererbung funktioniert
- Methoden überschreiben
- Die Funktion super()
- Komposition statt Vererbung
- Nachteile der Vererbung
- Die Funktionen isinstance() und issubclass()
- Klassenmethoden
- Klassenattribute
- Statische Methoden
- Wann brauchen Sie Klassenmerkmale und statische Methoden?
- Schlagwörter der objektorientierten Programmierung
- Kapselung
- Polymorphismus
- Wann Sie die Vererbung nicht nutzen sollten
- Mehrfachvererbung
- Die Reihenfolge der Methodenauflösung
- Zusammenfassung
-
17 Pythonische OOP: Eigenschaften und Dunder-Methoden
- Eigenschaften
- Attribute in Eigenschaften umwandeln
- Set-Methoden zur Datenvalidierung
- Schreibgeschützte Eigenschaften
- Wann Sie Eigenschaften verwenden sollten
- Dunder-Methoden
- Dunder-Methoden zur Stringdarstellung
- Numerische Dunder-Methoden
- Reflektierte numerische Dunder-Methoden
- Direkte Dunder-Methoden für erweiterte Zuweisungsoperatoren
- Dunder-Methoden für Vergleiche
- Zusammenfassung
- Stichwortverzeichnis
Product information
- Title: Der Weg zum Python-Profi
- Author(s):
- Release date: January 2022
- Publisher(s): dpunkt
- ISBN: 9783864908743
You might also like
book
Der Weg zum Java-Profi, 5th Edition
Dieses Buch bietet eine umfassende Einführung in die professionelle Java-Entwicklung und vermittelt Ihnen das notwendige Wissen, …
book
Algorithmen kapieren -- Visuell lernen und verstehen mit Illustrationen, Alltagsbeispielen und Python-Code
Visuelle Erläuterungen mit über 400 erklärenden Bildern Mit anschaulichen Beispielen und zahlreichen Übungen Ausführlich kommentierter Beispielcode …
book
Kollektive Intelligenz analysieren, programmieren und nutzen
Sie wollen wissen, wie Rankings, Produktempfehlungen, Social Bookmarking und Online-Partnerbörsen technisch funktionieren? Dieses außergewöhnliche Buch zeigt …
book
Wissenschaftliche Arbeiten schreiben - Praktischer Leitfaden mit über 100 Software-Tipps
Alle Grundlagen zum Schreiben wissenschaftlicher Arbeiten Methoden zur Selbstorganisation und Zeitplanung sowie Strategien für unterschiedliche Schreibtypen …