Bibliotek og import
Et bibliotek (modul) er ferdig kode du tar i bruk med import. Du når innholdet via navnerom: «import x» gir tilgang som x.funksjon(), mens «from x import y» gir y() direkte. Standardbibliotek følger med (csv, json, random); eksterne må installeres (pygame-ce, matplotlib).
Slik kan du tenke om det
- Modulen er en mappe Tenk på modulen som en mappe og funksjonene som filer inni. import math gir deg mappa, og du åpner en fil med math.sqrt(). Vil du ha fila rett fram, henter du den ut: from math import sqrt.
Vanlige feil
- Du tror import gir funksjonene direkte Du tror «import x» lar deg kalle funksjonene i x rett (f.eks. bar() eller randint()). Men «import x» gir deg modulen, og funksjonene bor inni navnerommet — du må skrive x.bar(). Vil du kalle den direkte, importerer du den med «from x import bar».
- Du tror import og open() leter på samme sted Du tror import hjelpefil og open("data.csv") finner filer etter samme regel. Men import leter i mappa der SKRIPTET ligger (og i pakkene i miljøet), mens open() med relativ sti leter i ARBEIDSMAPPA — der terminalen står. Kjører du python prosjekt/spill.py fra mappa over, virker importen av hjelpefila, men open() gir FileNotFoundError.
Øv på dette
- Herme: de tre import-formene
- Finn feilen: randint er ikke definert
- Herme: importer riktig
- Lage: importer på to måter
- Øving: bruk din egen hjelpefil
- Sjekk: from-import og math.pi
- Sjekk: må random installeres?
- Begrepssjekk: Bibliotek og import
- Kodeløype: Bibliotek og import
- Drill: Verktøy og versjonskontroll (øvet)
- Drill: Verktøy og versjonskontroll (utfordring)
- Drill: Verktøy og import — skriv koden