Python Funktionale Programmierung

Seminar / Training Python Funktionale Programmierung

Funktionale Programmierung

  • Einführung
  • Funktionale Programmierung als Paradigma
  • Ein klassisches Beispiel für funktionale Programmierung

Einführung in wesentliche funktionale Konzepte

  • Funktionen erster Klasse
  • Unveränderliche Daten
  • Strenge und nicht-strenge Auswertung
  • Rekursion anstelle eines expliziten Schleifenzustands
  • Funktionale Typsysteme
  • Einige fortgeschrittene Konzepte

Funktionen, Iteratoren und Generatoren

  • Das Schreiben der reinen Funktionen
  • Funktionen als Objekte erster Klasse
  • Arbeiten mit Zeichenketten
  • Verwenden von Tupeln und benannten Tupeln
  • Aufräumen von Rohdaten mit Generatorfunktionen
  • Verwenden von Listen, Diktaten und Mengen

Arbeiten mit Sammlungen

  • Funktionales Arbeiten mit Sammlungen
  • Ein Überblick über funktionale Varianten
  • Arbeiten mit Iterables
  • Verwenden von zip () zum Strukturieren und Reduzieren von Sequenzen
  • Verwenden von reverse (), um die Reihenfolge zu ändern
  • Verwenden von enumerate (), um eine Sequenznummer einzuschließen

Explorative Datenanalyse

Callables (Routinen im Vergleich)

  • Benannte Funktionen vs. Lamdas
  • Mehrfaches Dispatching

Lazy Evaluation (spätes Binden / späte Ausführung)

Lambda-Ausdrücke

  • Lambdas und der Lambda-Kalkül

Funktionen höherer Ordnung

  • Die Bedeutung von Funktionen höherer Ordnung
  • Verwendung von max () und min () zum Finden von Extrema
  • Verwenden der Funktion map (), um eine Funktion auf eine Sammlung anzuwenden
  • Verwenden von map () mit mehreren Sequenzen
  • Verwenden der Funktion filter (), um Daten durchzulassen oder zu verwerfen
  • Verwenden von filter (), um Ausreißer zu identifizieren
  • Die Funktion iter () mit einem Sentinel-Wert
  • Verwenden von sorted (), um Daten zu korrigieren
  • Schreiben von Funktionen höherer Ordnung
  • Schreiben von Mappings und Filtern höherer Ordnung
  • Schreiben von Generatorfunktionen
  • Erstellen von Funktionen höherer Ordnung mit Callables

Zusätzliche Tupel-Techniken

  • Verwendung von Tupeln zum Sammeln von Daten
  • Verwendung von benannten Tupeln zum Sammeln von Daten
  • Erzeugung von benannten Tupeln mit funktionalen Konstruktoren
  • Vermeidung von zustandsbehafteten Klassen mit der Verwendung von Tupel-Familien
  • Polymorphismus und Typmustervergleich

Rekursionen und Reduktionen

  • Rekursionsalgorithmen
  • Daten-Reduktionen
  • Einfache numerische Rekursionen
  • Reduktion durch Gruppen von vielen Elementen auf weniger

Modul Itertools

  • Arbeiten mit den unendlichen Iteratoren
  • Verwendung der endlichen Iteratoren
  • Klonen von Iteratoren mit tee ()
  • Itertools-Rezepte
  • Aufzählung des kartesischen Produkts
  • Reduktion eines Produkts
  • Annäherung an eine Sammlung von Werten
  • Generierung aller Kombinationen

Modul Functools

  • Funktions-Tools
  • Speicherung der bisherigen Ergebnisse mit lru_cache
  • Definition von Klassen mit totaler Ordnung
  • Verwendung von Teilargumenten mit partial ()
  • Reduktion von Datensätzen mit der Funktion redu ( )

Entwurfstechniken für Dekoratoren

  • Dekoratoren als Funktionen höherer Ordnung
  • Querschnittsthemen
  • Zusammengesetzter Entwurf
  • Das Hinzufügen eines Parameters zu einem Dekorator
  • Implementierung von komplexeren Dekoratoren
  • Komplexe Entwurfsüberlegungen

Module Multiprocessing und Threading

  • Funktionale Programmierung und Parallelität
  • Verwendung von Multiprozessor-Pools und Tasks
  • Verwendung eines Multiprozessor-Pools zur gleichzeitigen Verarbeitung von bedingten Ausdrücken und dem Operatormodul
  • Auswertung von bedingten Ausdrücken
  • Verwendung des Operatormoduls anstelle von Lambdas
  • Sternabbildung mit Operatoren
  • Reduktion mit Operatormodul-Funktionen

Gemeinsame funktionale Entwurfsmuster

  • Currying - Ein Argument pro Funktion
  • Monaden - Variablen, die entscheiden, wie sie behandelt werden sollen
  • Memoisierung - Speicherung der Ergebnisse

Currying

  • Ein Argument pro Funktion

PyMonad-Bibliothek

  • Herunterladen und Installieren
  • Funktionale Komposition und Curry
  • Funktionale Komposition und der PyMonad *-Operator
  • Funktoren und anwendbare Funktoren
  • Monad bind ()-Funktion und der >>-Operator
  • Implementierung einer Simulation mit Monaden
  • Zusätzliche PyMonad-Funktionen

Optimierungen und Verbesserungen

  • Optimierungen und Verbesserungen
  • Memoisierung und Caching
  • Spezialisierte Memoisierung
  • Optimierungen für Tail-Rekursion
  • Speicher-Optimierung
  • Genauigkeits-Optimierung
  • Fallstudie - Treffen einer Chi-Quadrat-Entscheidung
  • Berechnen von Erwartungswerten und Anzeigen einer Kontingenztabelle
  • Funktionsmodell für die Programmierung

Voraussetzungen

Keine Voraussetzungen

Dieses Seminar hat den Level "Administration / Grundlagen".

Wenn Sie sich nicht sicher sind ob dieser Kurs das richtige Niveau für Sie hat, dann können Sie dies vorab mit dem Trainer abstimmen.

Ihre Ansprechpartner

  • Johannes Quante

    E-Mail:
    Telefon: + 49 (32) 212 619 106

  • Daniel Unger

    E-Mail:
    Telefon: + 49 (32) 212 619 107

  • Benjamin Meier

    E-Mail:
    Telefon: + 49 (32) 212 619 105

Was unterscheidet unsere Seminare?

Wir bieten Ihnen Seminare mit einem hohen Praxisbezug an. Die Inhalte und Übungen sind auf Ihre täglichen Aufgaben im Unternehmen ausgerichtet und verzichten vollständig auf Werbehinweise anderer Produkte des Softwareherstellers.

Alle Trainings bei uns sind herstellerunabhängig. Dies ermöglicht es uns kritische Betrachtungen zu den Produkten selbst und Vergleiche zu Wettbewerbern des Herstellers im Seminar anzubieten. Die Kursinhalte sind eigene Inhalte und aus den praktischen Erfahrungen unserer Trainer in Projekten abgeleitet.

Selbstverständlich können die Inhalte bei Firmenseminaren individuell an Ihre Bedürfnisse angepasst werden. Bitte sprechen Sie uns einfach an.

Buchung


Das Seminar wurde auf die Merkliste gesetzt


Das von Ihnen gewählte Seminar wurde bereits auf die Merkliste gesetzt


Bitte wählen Sie einen freien Termin aus


Bitte geben Sie Ihren Wunschtermin im Format tt.mm.jjjj ein


Bitte wählen Sie einen freien Termin aus


Bitte geben Sie den gewünschten Termin im Format tt.mm.jjjj der Schulung ein

Dauer 3 Tage, ca. 6h/Tag
1.Tag: 10:00 Uhr, weitere ab 09:00 Uhr
Preis € 1.410,00 zzgl. MwSt.
Sprache Deutsch - bei Firmenseminaren ist auch Englisch möglich
Seminarunterlagen Originaldokumentation des Herstellers auf Datenträger / Download / Weblink
Teilnahmezertifikat ja, selbstverständlich
Barriere freier Zugang an den meisten Standorten verfügbar
Verpflegung Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) - nicht bei Firmen- und Online Seminaren
Support 3 Anrufe im Seminarpreis enthalten
Methoden Vortrag, Demonstration, praktische Übungen am System
Seminararten Mit Trainer vor Ort: Öffentlich oder Inhaus - Alternativ als Webinar bestellbar
Durchführungsgarantie ja, ab 2 Teilnehmern, max. 8 Teilnehmer, Details

Wählen Sie einen freien Termin für Berlin aus
















Dauer 3 Tage, ca. 6h/Tag
1.Tag: 10:00 Uhr, weitere ab 09:00 Uhr
Preis € 3.900,00 zzgl. MwSt.
Sprache Deutsch - bei Firmenseminaren ist auch Englisch möglich
Seminarunterlagen Originaldokumentation des Herstellers auf Datenträger / Download / Weblink
Teilnahmezertifikat ja, selbstverständlich
Barriere freier Zugang an den meisten Standorten verfügbar
Verpflegung Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) - nicht bei Firmen- und Online Seminaren
Support 3 Anrufe im Seminarpreis enthalten
Methoden Vortrag, Demonstration, praktische Übungen am System
Seminararten Mit Trainer vor Ort: Öffentlich oder Inhaus - Alternativ als Webinar bestellbar
Durchführungsgarantie ja, ab 2 Teilnehmern, max. 8 Teilnehmer, Details

Geben Sie hier Ihren Wunschtermin für Berlin



Dauer 3 Tage, ca. 6h/Tag
1.Tag: 10:00 Uhr, weitere ab 09:00 Uhr
Preis € 1.410,00 zzgl. MwSt.
Sprache Deutsch - bei Firmenseminaren ist auch Englisch möglich
Seminarunterlagen Originaldokumentation des Herstellers auf Datenträger / Download / Weblink
Teilnahmezertifikat ja, selbstverständlich
Barriere freier Zugang an den meisten Standorten verfügbar
Verpflegung Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) - nicht bei Firmen- und Online Seminaren
Support 3 Anrufe im Seminarpreis enthalten
Methoden Vortrag, Demonstration, praktische Übungen am System
Seminararten Mit Trainer vor Ort: Öffentlich oder Inhaus - Alternativ als Webinar bestellbar
Durchführungsgarantie ja, ab 2 Teilnehmern, max. 8 Teilnehmer, Details

Wählen Sie bitte einen freien Termin aus
















© 2024 SCN GmbH. All rights reserved.