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)