Informationen zur Technologie

Python ist eine universelle, höhere Programmiersprache, die gut lesbar ist. Sie unterstützt mehrere Programmierparadigmen, wie die objekt-orientierte, die funktionale und die aspektorientierte Programmierung und bietet eine dynamische Typisierung. Sie wird oft als Skriptsprache eingesetzt.


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

    offene Schulung
    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.
    Firmenschulung
    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:
    • Hamburg
    • Berlin
    • Frankfurt
    • München
    • Nürnberg
    • Düsseldorf
    • Wien
    Starttermin:individuelle Vereinbarung
    Unterlagen:zzgl.
    Verpflegung:zzgl.
    Prüfung/Zertifizierung:zzgl.

    Software

    python3, anaconda3, pip, pyenv, vscode,



    Seminarsprache

    die Seminarsprache ist deutsch, sofern keine andere Angabe. Englisch ist in aller Regel machbar, andere Seminarsprachen sind möglich, fragen Sie bitte an.