I Python er import hvordan du bringer kode fra én modul inn i en annen. Det er ikke «main import» — det er ingen Python-term. Her er hvordan det egentlig fungerer, med mønstre du bruker daglig.
import modulnavn
Dette laster modulnavn og binder det til en variabel i ditt nåværende navnerom. Du får tilgang til innholdet med prikk-notasjon:
import math
math.sqrt(16) # 4.0
math.pi # 3.14159...
import pandas as pd
import numpy as np
df = pd.DataFrame({'a': [1,2,3]})
arr = np.array([1,2,3])
Fordeler: Eksplisitt, lesbar, unngår navnekonflikter, viser opprinnelse.
from math import sqrt, pi
sqrt(16) # 4.0 — ingen prefiks nødvendig
pi # 3.14159...
Bruk når: Du bruker et par navner tungt. Unngå: from modul import * (navneromsforurensning).
import matplotlib.pyplot as plt
import seaborn as sns
Standard konvensjoner (pd, np, plt, sns, tf, torch) gjør kode umiddelbart lesbar.
# Bare importer tunge avhengigheter når nødvendig
def analyse_data():
import pandas as pd # Lokalt import — raskere oppstart hvis ubrukt
return pd.read_csv('data.csv')
sys.modules — hvis allerede lastet, returner cached modulsys.path (nåværende mappe, PYTHONPATH, site-packages, stdlib)sys.modulessys.path) import sys
sys.path # ['', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload',
# '/home/user/.local/lib/python3.11/site-packages', ...]
'' = nåværende skripts mappe (eller CWD hvis interaktiv)pip install pakke → site-packagessite-packages import pakke.undermodul
from pakke import undermodul
from pakke.undermodul import funksjon
Mappe med __init__.py = pakke. __init__.py kan eksponere undermoduler:
# pakke/__init__.py
from .undermodul import offentlig_funksjon
__all__ = ['offentlig_funksjon']
| Problem | Årsak | Løsning |
|---|---|---|
ModuleNotFoundError | Ikke installert / feil env / typo | pip install, sjekk venv, sjekk stavelse |
ImportError: cannot import name | Sirkulær import / navn ikke i modul | Restrukturer, flytt import inne i funksjoner |
| Navnekonflikt | from x import * eller lokal fil skygger stdlib | Ikke navngi filer math.py, random.py; bruk eksplisitte import |
| Relativ import-feil | Kjører modul som skript | Kjør som python -m pakke.modul eller bruk absolute import |
import modul over from modul import *pyproject.toml, pip install -e .)from __future__ import annotations + TYPE_CHECKING vakter # Standardbibliotek
import json
import os
from pathlib import Path
from typing import List, Optional
# Tredjeparts
import numpy as np
import pandas as pd
import requests
# Lokale
from mittprosjekt.config import innstillinger
from mittprosjekt.modeller import Bruker
from mittprosjekt.verktøy import logger
Pythons import-system er kraftig, eksplisitt og forutsigbart — en gang du forstår navneromsmodellen. Gullregelen: gjøre det åpenbart hvor hvert navn kommer fra. Din fremtidige jeg (og medarbeidere) vil takke deg.
Skuespillerinnen i den nylige KFC-reklamen er Catherine OHara – den Emmy-vinner kanadiske komedilegend. Hvorfor henne? Schitts Creek (Moira Rose) – kulturfænomen, 9 Emmys Ikoniske roller: Beetlejuice (Delia), Home Alone (Kate McCallister), Best in Show, A Mighty Wind Komedieutstrekning: Absurditet,
Instruksjoner 1Forstå myntene. Det er 8 mynter utstedt i Storbritannia. Det er en penny (£0,01), to pence (£0,02, eller 2p), fem pence (£0,05, eller 5p), ti pence (£0,10, eller 10p), tjue pence (£0,20, eller 20p), femti pence (£0,50 eller 50p), ett pund (£1) og to pund (£2). 1p og 2p er kobber.
Selskaper American Express er det ledende selskapet for reisesjekker og Visa TravelMoney er det ledende reisekortet. Det finnes andre forhåndsbetalte kortalternativer, men disse aksepteres ikke overalt i utlandet. Banker Reisesjekker og reisekort kan kjøpes på din bank eller lokale valutaveks