Hoppa till innehållet
AI-grafen
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:

  1. Standardvärden: def trana(data, epoker=10, lr=0.01) — anroparen behöver bara ange det som avviker.
  2. Scope: variabler inuti funktionen finns bara där. En funktion som ändrar globala variabler är svår att testa — returnera i stället.
  3. 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

Alla källor och licenser