D· AI-utvecklareprogrammering· ca 45 min· grundläggande — ändras sällan· verifierad 2026-09-20
Python — funktioner, scope och undantag
Kunna skriva funktioner med standardvärden, förstå scope och hantera undantag med try/except.
Förkunskaper
Intuition
En funktion är ett kontrakt: in kommer argument, ut kommer ett returvärde. Tre saker som skiljer nybörjarkod från bra kod:
- Standardvärden:
def trana(data, epoker=10, lr=0.01)— anroparen behöver bara ange det som avviker. - Scope: variabler inuti funktionen finns bara där. En funktion som ändrar globala variabler är svår att testa — returnera i stället.
- Undantag: när något inte går (fil saknas, fel typ) ska funktionen säga det med
raise, inte returnera −1 och hoppas att någon kollar.
Kod
def medel(varden, *, ignorera_tomma=False):
"""Medelvärde. Tom lista är ett fel om inte ignorera_tomma=True (då 0.0)."""
if not varden:
if ignorera_tomma:
return 0.0
raise ValueError("tom lista har inget medelvärde")
return sum(varden) / len(varden)
print(medel([1, 2, 3])) # 2.0
print(medel([], ignorera_tomma=True)) # 0.0
try:
medel([])
except ValueError as e:
print("fel:", e)
x = 10
def f():
x = 5 # lokal — den globala rörs inte
return x
print(f(), x) # 5 10
* i signaturen tvingar ignorera_tomma att anges med namn — det gör anrop läsbara.
Behärskning innebär
- Skriver funktioner med standardvärden och nyckelordsargument
- Förklarar scope: lokal vs global
- Hanterar undantag med try/except och lyfter egna
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
Leder till
Del av målen (17)
- Utvecklarens verktygslåda
- Systemkunskap för AI-ingenjörer
- Matematiken bakom modellerna
- Träna en agent med belöning
- Bygg en transformer från grunden
- Bygg en agent som går att lita på
- Frontier Lab — självständigt forskningsprojekt
- AI i produktion
- Kör modeller billigare: kvantisering
- Träna neuronnät på riktigt
- Träna ditt första neuronnät
- Evals i praktiken
- Bygg ett NLP-system end-to-end
- Bygg en AI-tjänst som håller i drift
- AI-tjänst i drift
- Bygg ett RAG-system som går att lita på
- Finjustera och driva egna modeller