
Python - Foundation

Kort om undervisningen
Python har i de senere år oplevet en fuldstændig eksplosiv vækst og i de fleste opgørelser (TIOBE, Stackoverflow, Github mv.) er Python blandt de 3 mest benyttede programmeringssprog i verden. Python bruges i data-science, micro-services, machine-learning, big-data, function-as-a-service (FAAS), Dev-ops og hardware-platforme som Raspberry Pi.
Der er mange grunde til Pythons vækst. Sproget er pragmatisk og understøtter objekt-orienteret- og funktionel programmering, metaprogrammering, asynkron I/O, korutiner og mere. Dertil kommer et stærkt standardbibliotek, god dokumentation og et fantastisk økosystem med utallige pakker.
Dette kursus henvender sig til alle, som ikke blot ønsker at skrive Python, men ønsker at kunne skrive korrekt, idiomatisk kode, som udnytter de mange funktionaliteter og værktøjer, der findes i professionelle kodebaser.
Indhold
Kurset giver en solid indføring i moderne Python, men også de værktøjer som gør udviklingen nemmere - bl.a. installation og udvælgelse af kvalitetspakker, strukturering af projekter samt unit-testing med pytest og statisk typeanalyse med Mypy-værktøjet.
Introduktion til Python
Klasser, properties og data-klasser
Funktioner - funktioner som argumenter, lambda'er mv.
Struturering af python-kode: moduler og pakker
Pythons standardbibliotek og dokumentation
Installer tredjepartspakker og isolér projektafhængigheder med virtuelle miljøer (venv)
Iterering med iteratorer
Decorators - metaprogrammering i Python
Generatorer: funktioner med pause/resume (korutiner)
Statisk type-analyse i Python med Mypy
Unit-testing af kode med Pytest
Forudsætninger
Det forventes, at deltagerne har forudgående erfaring med programmering, f.eks:
Kontrolstrukturer (f.eks if, while, ...)
Objekt-orienteret programmering
Erfaring med IDE-programmer - f.eks. IntelliJ, Visual Studio eller Eclipse
Basal kendskab til terminalen - bash eller powershell
Målgruppe
Udviklere med eksisterende programmeringserfaring, eksempelvis fra Java, som ønsker en grundig indføring i Python udvikling, værktøjer og miljø. Dette kursus er danner et godt fundament for videre brug af Python i f.eks. web-services eller data science projekter.
Efter kurset kan deltageren
Skrive moderne, idiomatisk Python (3.6+)
Oprette nye python projekter
Strukturere større Python projekter
Finde, udvælge og installere open source pakker
Unit-teste kode (Pytest) og foretage statisk typeanalyse (Mypy)
