====== Python Workshop ====== ===== Idee /Konzept ===== Wir wollen uns möglichst regelmäßig treffen und zusammen Python lernen oder uns weiterbilden. Das Ganze ist als gleichzeitiger Python- und genereller Programmierkurs angelegt. Zielgruppe sind Programmier-Einsteiger ohne Vorkentnisse, aber mit Computer- und bestenfalls CLI Erfahrung. Der Kurs fand zuletzt 2022 im wöchentlichen Wechsel mit einem Python-Stammtisch statt. Momentan befindet er sich für 2024 in der Vorbereitungsphase. ===== Fortschritt ===== 0% -------------- 25% -------------- 50% ----X--------- 75% -------------- 100% ____________________________________________________________________________________ |####|#### |########## | ####### | ####### | ## | | ------------------------------------------------------------------------------------ Idee | Interessenten | Konzept | Materialien | in | Termin | Werbung | gefunden | erarbeitet| besorgt | Bearbeitung | gefunden | gemacht Vortragsfolien existieren, müssen minimal überarbeitet werden. Beispielcode muss noch wiedergefunden werden. 2-wöchiger Rhythmus hat sich bewährt, konkrete Zeitplanung steht noch aus. ===== Zusammenfassung===== ====#1: Einführung in die Programmierung & Python - Basics ==== * Geschichte der Programmierung * Einordnung verschiedener Sprachen und -konzepte * Python: Versionen und Entwicklungsumgebung * Syntax & Datentypen * hello world ==Linkliste:== [[https://python.org|Offizielle Python Webseite (inkl. Download)]] [[https://cryptpad.fr/slide/#/2/slide/view/fdSr58bc7Xjpv6x1VxDdKY1Kz5YywuIyibezEQYErkE/embed/present/|Vortragsfolien Part 1]] ====#2: Grundlegende Programmstruktur, Dateien und Formate parsen==== * imports und packages * Funktionen * Zuweisungen * Entscheidungen * Schleifen * Aufgaben im Beispielcode ==Linkliste:== [[https://cryptpad.fr/slide/#/2/slide/view/HVSqLSTl9dg635+6UFtSb+LjHk48cfBE63wkGfzV7AE/embed/present/|Vortragsfolien Part 2]] [[https://cryptpad.fr/code/#/2/code/view/c+p+ypz3zHffyOxkD6k2vzOpRLNf+zMQSfz18-cNqJg/|Beispielcode]] [[https://gitlab.com/Chaos_99/workshop_project/-/blob/main/main.py|Mehr Beispielcode]] [[https://www.w3schools.com/xml/plant_catalog.xml|Beispiel-XML-Daten]] ====#3: Listen und Objektorientierung==== * Listentypen * Slicing * List Comprehension * Dictionaries * Klassen und Vererbung * Duck-Typing * Monkey-Patching * Virtuelle Funktionen ==Linkliste:== [[https://cryptpad.fr/slide/#/2/slide/view/FvdV+p0B+HEi5Sz+AyQMQHYOpUtQmMhrGmwaYCJvkr8/embed/present/|Vortragsfolien Part 3]] [[https://cryptpad.fr/code/#/2/code/view/6aJc+THZsi-Ks39AZXwcrfsUDyhFqKj+r5dqjOQSNmk/|Beispielcode]] ====#4: Ausnahmen und Dekoratoren==== * Ausnahmenbehandlung * Dekoratoren * String-Formatierung ==Linkliste:== [[https://cryptpad.fr/slide/#/2/slide/view/T7JDItBhYpmNdCphiqZXThWp6k-BuKk6yHbEM6HkAjU/embed/present/|Vortragsfolien Part 4]] ====#5: Generatoren, Funktionale Programmierung, Lambdas, Assertions, Context, Multithreading und erstes Projekt==== * Generator functions / expressions / comprehension * Functional programming (map/reduce) * Lambdas * Assertions * exec/eval * context manager ==Linkliste:== [[https://cryptpad.fr/slide/#/2/slide/view/nR6lH90-NURMFIwPqUc6Q7z9T2xiLAXGz4IoMmkhuxI/embed/present/|Vortragsfolien Part 5]]