Kurs: Nätverksteknik (50 YH-poäng) Lärare: Johan Saldes Kursmål: K11 - Redogöra för Python-script för att kunna automatisera och optimera nätverksdrift
Koans är programmeringsövningar där du lär dig genom att "fylla i luckor" i kod. Varje koan innehåller tester som misslyckas, och din uppgift är att få testerna att bli gröna genom att ersätta __ (understreck) med rätt värden eller kod.
Konceptet kommer från Zen Buddhism och har anpassats för programmering - du lär dig Python genom att lösa små problem steg för steg.
Koanerna är organiserade i två delar:
- Variables and Strings (Lätt) - Variabler, strängar, grundläggande operationer
- Lists and Loops (Medium) - Listor, for-loopar, list comprehensions
- Functions and Dictionaries (Svår) - Funktioner, dictionaries, komplex datahantering
- IP Address Validation (Lätt) - IP-adressvalidering, CIDR, subnät
- Device Inventory (Medium) - Hantera nätverksutrustning, inventarier, CSV
- Network Monitoring (Svår) - Logganalys, prestandaövervakning, alerter
- Python 3.7 eller senare installerat
- En textredigerare (VS Code, Sublime Text, eller valfri IDE)
-
Navigera till koan-mappen:
cd /Users/johan/Documents/arbete/Nätverkskommunikation/python_programming/koan -
Kör alla koans:
python3 run_koans.py
-
Programmet kommer att stanna vid första felet:
✗ Failed: Fix this: what is the value of network_device? File: basic_python/01_variables_and_strings.py -
Öppna filen och fixa felet:
- Hitta raden med
__(understreck) - Ersätt
__med rätt värde - Spara filen
- Hitta raden med
-
Kör igen:
python3 run_koans.py
-
Upprepa tills alla koans är gröna!
Här är ett exempel på hur en koan ser ut:
# I filen finns detta:
network_device = "Switch"
assert network_device == __, "Fix this: what is the value of network_device?"
# Du ändrar till:
network_device = "Switch"
assert network_device == "Switch", "Fix this: what is the value of network_device?"- Börja med de grundläggande Python-koanerna (01-03)
- Läs kommentarerna noggrant - de förklarar vad som händer
- Testa att köra kodens delar i Python-konsolen för att förstå bättre
- Använd
print()för att se värden när du är osäker - Gå vidare till nätverksautomation (04-06) när du känner dig bekväm
- Försök lösa alla koans utan att titta på facit
- Efter att ha löst en koan, försök skriva liknande funktioner själv
- Utöka koanerna med dina egna tester
- Försök optimera lösningarna för bättre prestanda
- Kombinera flera koncept från olika koans
- Orsak: Du har skrivit ogiltig Python-kod
- Lösning: Kolla att du har rätt antal citattecken, parenteser, etc.
- Orsak: Ditt svar är inte korrekt
- Lösning: Läs felmeddelandet, det ger ofta ledtrådar
- Orsak: Du har glömt att ersätta
__med rätt värde - Lösning: Hitta alla
__i filen och ersätt dem
Dessa koans hjälper dig att uppnå följande kursmål:
- K11: Redogöra för Python-script för att kunna automatisera och optimera nätverksdrift
- F3: Övervaka nätverksprestanda och hantera incidenter/problem
- F6: Dokumentera nätverksarkitektur och konfigurationer
- K5: Redogöra för IP-adresser i nätverk
- K1: Redogöra för nätverksutrustning och olika produkter
Kunskaperna du lär dig här används för att:
✅ Automatisera konfiguration av switchar och routrar ✅ Övervaka nätverksprestanda och upptäcka problem ✅ Hantera inventarier av nätverksutrustning ✅ Analysera loggar för felsökning ✅ Generera rapporter om nätverksstatus ✅ Validera konfigurationer innan deployment
När du är klar med koanerna:
- ✅ Applicera kunskaperna på riktiga nätverksscenarier
- ✅ Utforska nätverksbibliotek som
netmiko,napalm,paramiko - ✅ Bygg egna automationsskript för laborationsmiljön
- ✅ Delta i kursprojektet med Python-automation
- Kurslitteratur: "Mastering Python Networking" av Eric Chou
- Python Dokumentation: https://docs.python.org/3/
- Nätverksautomation: https://github.com/networktocode
- Övningslabb: Använd era Cisco/Arista-labbar för att testa skript
Om du fastnar:
- Läs felmeddelandet noga - det ger ofta svaret
- Använd
print()för att debugga - Diskutera med klasskamrater
- Fråga läraren (Johan Saldes)
- Använd Python-dokumentationen
"En nätverkstekniker som kan Python är som en ninja med extra verktyg!" — Johan Saldes
Senast uppdaterad: Oktober 2025 Version: 1.0