Python 3.8 - Clean Code - Schulung (3 Tage)
Kurzbeschreibung
In diesem Python 3.8-Workshop erlernen die Teilnehmer das Schreiben von einem besserem Code, den man Clean Code nennt. Seine Bedeutung steht nicht nur für sauber, sondern auch einfacher, eleganter, sicherer und ggf. schneller bzw. ressourcensparender. Sie lernen pythonisch zu denken und einen Pythonic Code zu schreiben, Ausnahmen auszulösen und die Verwendung der Funktionen und Tools. Weitere Themen sind die Vorteile des Wörterbuchs kennenzulernen, das Schreiben von besseren Funktionen und Klassen, das Arbeiten mit Modulen und Metaklassen, die Verwendung der Dekorateure und des Kontextmanagers, die Verwendung der Debugging-Tools und die Erstellung eines Testberichts.
Voraussetzungen
• keine
Seminarinhalt
DIe pythonische Denkweise
• Schreiben des Pythonic Code
• Das Benennen
• Ausdrücke und Aussagen im Code
• Das Erfassen der pythonischen Art zum Schreiben des Code
• Docstrings auf Modulebene
• Beschreibung der Klasse Docstring
• Schreiben der pythonischen Kontrollstrukturen
• Verwendung der Listenverständnisse und das richtig Machen
• Sollte ein Lambda verwendet werden?
• Verwendung von Generatoren im Vergleich zum Listenverständnis
• Warum nicht anders mit Loops verwenden?
• Die bessere Reichweite in Python 3
Das Auslösen von Ausnahmen
• Nutzung von endlich zur Behandlung von Ausnahmen
• Erstellung einer eigenen Ausnahmeklasse
• Behandlung nur bestimmter Ausnahmen
• Verwendung des Mindestcode
Datenstrukturen
• Verwendung von Sets für Geschwindigkeit
• Verwendung von namedtuple für die Rückgabe und den Zugriff auf Daten
• Vorsichtiger Umgang mit Listen und Bevorzugung der Generatoren
• Verwendung von zip zur Verarbeitung einer Liste
• Nutzung der integrierten Funktionen von Python
Die Vorteile des Wörterbuchs
• Die Verwendung eines Wörterbuch im Vergleich zu anderen Datenstrukturen
• Geordnetes Wörterbuch vs. Standardwörterbuch vs. Normales Wörterbuch
• Anweisung und Wörterbücher wechseln
• Möglichkeiten zum Zusammenführen von zwei Wörterbüchern
Schreiben besserer Funktionen und Klassen
• Erstellung kleiner Funktionen
• Rückgabe der Generatoren
• Ausnahmen auslösen, anstatt keine zurückzugeben
• Hinzufügung des Verhaltens mit den Standard- und Schlüsselwortargumenten
• Defensives Schreiben einer Funktion
• Verwendung eines Lambda als einzelnen Ausdruck
Klassen
• Richtige Klassengröße?
• Klassenstruktur und richtige Verwendungsmöglichkeiten für @property
• Verwendung der Vererbung abstrakter Klassen auf pythonische Weise
• Verwendung von @classmethod für den Zugriff auf Klassenstatus
• Verwendung des öffentlichen Attributs anstelle von privat
Arbeiten mit Modulen und Metaklassen
• Module und Metaklassen
• Die Organisation von Code durch Module
• Nutzen der __init__-Datei
• Verwendung von __all__ zur Verhinderung der mporte
• Der Einsatz der Metaklassen
• Verwendung von __new__ zur Überprüfung von Unterklassen
• Die Nützlichkeit von__slots__
• Änderung des Klassenverhaltens mithilfe von Metaklassen
Python Deskriptoren
• Die Bedeutung der Python Deskriptoren
Dekorateure und Kontextmanager
• Dekorateure
• Änderung des Verhalts mit Dekorateuren
• Verwendung mehrerer Dekorateure
• Dekorateure akzeptieren Argumente
• Erwägung der Verwendung einer Bibliothek für Dekorateure
• Klassendekorateure zur Aufrechterhaltung des Zustands und zur Validierung von Parametern
Der Kontext Manager
• Die Bedeutung des Kontextmanagers
• Verwendung von contextlib zum Erstellen eines Kontextmanagers
• Einige praktische Beispiele für die Verwendung eines Kontextmanagers
Generatoren und Iteratoren
• Die Bedeutung von Iteratoren
• Nutzung von Iteratoren und Generatoren
• Verwendung von itertools
• Listenverständnis vs. Iteratoren
• Nutzung des Yield-Keywords
• Schnellere Ausbeute im Vergleich zu einer Datenstruktur
Verwendung neuer Python Funktionen
• Einführung von Async in Python
• Asynchrone Generatoren
• Typisierung / Typen in Python
• Verlangsamen Datentypen den Code?
• Das Eingeben der Fallstricke
• super () Methode
• Bessere Pfadbehandlung mit pathlib
• print () ist jetzt eine Funktion
• F-Saite
• Nur Schlüsselwortargumente
• Beibehaltung der Reihenfolge eines Wörterbuchs
• Iterierbares Auspacken
Debuggen
• Debugging-Tools
• Haltepunkt
• Verwendung des Protokollierungsmoduls, anstatt des Drucks im Produktionscode
• Verwendung der Metrikbibliothek zum Erkennen von Engpässen
• Wie IPython hilfreich ist
Testen
• Die Wichtigkeit des Testens
• Pytest vs. UnitTest
• Eigenschaftsprüfung
• Erstellung eines Testberichts
• Automatisierung der Unit-Tests
• Vorbereitung des Code für die Produktion
• Ausführung eines Unit- und Integrationstests in Python
Python-Tools
• Flake8 / Pylint
• Pyenv für virtualenv
• Python Sphinx-Dokumentation
• Jupyter Lab
• Pycharm / VSCode / Sublime
Zielgruppen
• Erfahrene Python Programmierer
Preise und Termine
Eine offene Schulung findet in einem unserer Schulungszentren statt.
Dauer: | 3 Tage |
Preis: | 1.350,00 € zzgl. USt. pro Teilnehmer (1.606,50€ inkl. USt.) |
Seminarstandorte: | |
Starttermine: (ortsabhängig) | |
Unterlagen: | zzgl. |
Verpflegung: | zzgl. |
Prüfung/Zertifizierung: | zzgl. |
Eine Firmenschlung kann sowohl bei Ihnen vor Ort als auch in einem unserer Schulungszentren stattfinden.
Dauer: | 3 Tage |
Preis ab: | 1.350,00 € zzgl. USt. pro Tag (1.606,50€ inkl. USt.) |
Schulungszentren: |
|
Starttermin: | individuelle Vereinbarung |
Unterlagen: | zzgl. |
Verpflegung: | zzgl. |
Prüfung/Zertifizierung: | zzgl. |
Software
python3, anaconda3, pip, pyenv, vscode,
Verwandte Schulungen
Python 3.x für Unix-/Linux-Administratoren I - SchulungPython 3.x für Unix-/Linux-Administratoren II - SchulungPython 3.x - Algorithmen und Datenstrukturen - Schulung
Seminarsprache
die Seminarsprache ist deutsch, sofern keine andere Angabe. Englisch ist in aller Regel machbar, andere Seminarsprachen sind möglich, fragen Sie bitte an.