Python Intensivkurs

Classroom Schulung | Deutsch | Anspruch

Schulungsdauer: 5 Tage

Ziele

Python ist eine Programmiersprache, die verschiedene Programmierparadigmen unterstützt, die in diesem Kurs behandelt werden. Behandelt werden die objektorientierten und die funktionalen Möglichkeiten der Programmiersprache Python.

Dieser Kurs ist eine leichte und verständliche Einführung in die Skriptsprache Python und die allgemeinen Grundlagen der Programmierung mit zahlreichen praxisnahen Beispielen.

Zielgruppe

Diese Schulung richtet sich an Interessentinnen und Interessenten, die bereits über Programmiererfahrung verfügen. Erfahrungen in Python sind nicht notwendig, da der Kurs mit den Grundlagen von Python beginnt. Dieses Seminar richtet sich also beispielsweise an Entwickler, Projektleiter und Administratoren, die ihre tägliche Arbeit mit einer ebenso einfachen wie leistungsstarken Programmiersprache erleichtern wollen.
Diese Schulung ist unabhängig vom verwendeten Betriebssystem, d.h. es spielt keine Rolle, ab man unter Windows, Unix oder Linux arbeitet.

Voraussetzungen

  • Programmiererfahrung

Agenda

Einführung in die Arbeitsumgebung des Kurses

  • Jupyter-Notebook und Jupyter-Lab
  • Jupyter-Hub

Einführung in die Daten-Strukturen

  • Datentypen, Klassen, Variablen, Objekte
  • Listen und Tupel
  • Strings und Stringfunktionen
  • Sortierung unter Benutzung von sort und sorted
  • Slicing
  • Iteratoren und iterierbar
  • Dictionaries
  • Sets und Frozensets
  • Konvertierungen zwischen Datentypen, z.B. Integer nach Strings oder Dictionaries in Listen und umgekehrt
  • Probleme durch Referenzierung und In-Place-Methoden
  • Copy und Deepcopy

Kontrollstrukturen

  • Verzweigungen
  • Schleifen: while- und for-Schleife
  • for-Schleife à la C bzw. C++ in Python
  • continue, break und else in Schleifen
  • pass-Anweisung
  • Funktionen: Definition und Aufruf
  • Globale und lokale Parameter
  • Positionsparameter und Schlüsselwortparameter
  • "*"- und "**"-Parameter

Ein- und Ausgabe

  • Interaktive Eingabe mittels input
  • Formatierte Ausgabe: der traditionelle Weg mit "Stringmodulo"
  • Der pythonische Weg: format-Methode und f-Strings
  • Dateien lesen und schreiben

Arbeiten mit Modulen ◦Standardmodule

  • Einbindung und Benutzung von Standardmodulen
  • Namensräume und Gültigkeitsbereiche
  • Schreiben eigener Module
  • Code-Dokumentation und Help-Funktion

Fortgeschrittene Themen

  • Rekursive Funktionen
  • Komplexitätsprobleme bei rekursiven Funktionen
  • Memoisation
  • Dekorateure
  • Lambda-Operator, map, filter und reduce
  • Iteratoren / Listen-, Mengen und Generator-Abstraktion
  • * und ** bei Funktionsdefinition und in Funktionsaufrufen
  • Seiteneffekte in Funktionsdefinitionen
  • Iteratoren und Generatoren
  • Kontext-Managers
  • Itertools
  • Sortierung und 'individuelles' Sortieren mit 'key'-Funktionen

Fehler und Ausnahmen

  • ◦Syntaxfehler und SemantikfehlerAusnahmen
  • ◦Ausnahmebehandlung
  • ◦Erzeugen von Ausnahmen
  • ◦finally zum Aufrämen

Objektorientierte Programmierung

  • "Alles Klassen"
  • Klassen, Instanzen und Objekte
  • Die einfachst mögliche Klassendefinition
  • Instanz- und Klassenattribute, Properties
  • privat, geschützt und öffentlich
  • Magische Methoden und Operator-Überladung
  • Vererbung
  • Mehrfachvererbung

Persistente Datenhaltung

  • Pickle
  • Shelve
  • Datenbankanbindungen

Optional: Text- und Stringverarbeitung ◦Wichtige Stringmethoden: count, index, find, rfind, replace, split, rsplit und andere

  • Benutzung regulärer Ausdrücke in Python

Optional: Schnittstelle zum Betriebssystem ◦Schnittstellen zum Betriebssystem

  • Forking
  • Threads
  • Multiprocessing

Optional: Testing ◦Doctest

  • unittest
  • pytest

Ziele

Python ist eine Programmiersprache, die verschiedene Programmierparadigmen unterstützt, die in diesem Kurs behandelt werden. Behandelt werden die objektorientierten und die funktionalen Möglichkeiten der Programmiersprache Python.

Dieser Kurs ist eine leichte und verständliche Einführung in die Skriptsprache Python und die allgemeinen Grundlagen der Programmierung mit zahlreichen praxisnahen Beispielen.

Zielgruppe

Diese Schulung richtet sich an Interessentinnen und Interessenten, die bereits über Programmiererfahrung verfügen. Erfahrungen in Python sind nicht notwendig, da der Kurs mit den Grundlagen von Python beginnt. Dieses Seminar richtet sich also beispielsweise an Entwickler, Projektleiter und Administratoren, die ihre tägliche Arbeit mit einer ebenso einfachen wie leistungsstarken Programmiersprache erleichtern wollen.
Diese Schulung ist unabhängig vom verwendeten Betriebssystem, d.h. es spielt keine Rolle, ab man unter Windows, Unix oder Linux arbeitet.

Voraussetzungen

  • Programmiererfahrung

Agenda

Einführung in die Arbeitsumgebung des Kurses

  • Jupyter-Notebook und Jupyter-Lab
  • Jupyter-Hub

Einführung in die Daten-Strukturen

  • Datentypen, Klassen, Variablen, Objekte
  • Listen und Tupel
  • Strings und Stringfunktionen
  • Sortierung unter Benutzung von sort und sorted
  • Slicing
  • Iteratoren und iterierbar
  • Dictionaries
  • Sets und Frozensets
  • Konvertierungen zwischen Datentypen, z.B. Integer nach Strings oder Dictionaries in Listen und umgekehrt
  • Probleme durch Referenzierung und In-Place-Methoden
  • Copy und Deepcopy

Kontrollstrukturen

  • Verzweigungen
  • Schleifen: while- und for-Schleife
  • for-Schleife à la C bzw. C++ in Python
  • continue, break und else in Schleifen
  • pass-Anweisung
  • Funktionen: Definition und Aufruf
  • Globale und lokale Parameter
  • Positionsparameter und Schlüsselwortparameter
  • "*"- und "**"-Parameter

Ein- und Ausgabe

  • Interaktive Eingabe mittels input
  • Formatierte Ausgabe: der traditionelle Weg mit "Stringmodulo"
  • Der pythonische Weg: format-Methode und f-Strings
  • Dateien lesen und schreiben

Arbeiten mit Modulen ◦Standardmodule

  • Einbindung und Benutzung von Standardmodulen
  • Namensräume und Gültigkeitsbereiche
  • Schreiben eigener Module
  • Code-Dokumentation und Help-Funktion

Fortgeschrittene Themen

  • Rekursive Funktionen
  • Komplexitätsprobleme bei rekursiven Funktionen
  • Memoisation
  • Dekorateure
  • Lambda-Operator, map, filter und reduce
  • Iteratoren / Listen-, Mengen und Generator-Abstraktion
  • * und ** bei Funktionsdefinition und in Funktionsaufrufen
  • Seiteneffekte in Funktionsdefinitionen
  • Iteratoren und Generatoren
  • Kontext-Managers
  • Itertools
  • Sortierung und 'individuelles' Sortieren mit 'key'-Funktionen

Fehler und Ausnahmen

  • ◦Syntaxfehler und SemantikfehlerAusnahmen
  • ◦Ausnahmebehandlung
  • ◦Erzeugen von Ausnahmen
  • ◦finally zum Aufrämen

Objektorientierte Programmierung

  • "Alles Klassen"
  • Klassen, Instanzen und Objekte
  • Die einfachst mögliche Klassendefinition
  • Instanz- und Klassenattribute, Properties
  • privat, geschützt und öffentlich
  • Magische Methoden und Operator-Überladung
  • Vererbung
  • Mehrfachvererbung

Persistente Datenhaltung

  • Pickle
  • Shelve
  • Datenbankanbindungen

Optional: Text- und Stringverarbeitung ◦Wichtige Stringmethoden: count, index, find, rfind, replace, split, rsplit und andere

  • Benutzung regulärer Ausdrücke in Python

Optional: Schnittstelle zum Betriebssystem ◦Schnittstellen zum Betriebssystem

  • Forking
  • Threads
  • Multiprocessing

Optional: Testing ◦Doctest

  • unittest
  • pytest

Tags

Diese Seite weiterempfehlen