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