Python Academy · Lektion

Skapa och importera moduler

Skriv egna moduler och importera dem i andra skript.

Lektion 1 av 414 steg

Skapa och importera moduler är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 4 lektioner.

Introduktion

En modul är en Python-fil som innehåller funktioner, klasser och variabler som kan importeras till andra skript.

Vad är en modul?

Alla .py-filer är moduler. utils.py kan importeras så här: import utils. Python söker efter moduler i sys.path.
import sys
print(sys.path[:3])

import-sats

import math importerar hela modulen. Kom åt den med math.sqrt(16). Modulen cachas efter den första importeringen.
import math
print(math.sqrt(16))
print(math.pi)

from ... import

from math import sqrt, pi importerar specifika namn till det lokala namnrymden. Prefixet math. behövs inte.
from math import sqrt, pi
print(sqrt(25))
print(pi)

import as (alias)

import numpy as np ger modulen ett kortare lokalt namn. Det är användbart för långa modulnamn.
import os.path as osp
print(osp.join('a', 'b', 'c'))

from ... import *

from math import * importerar allt. Undvik det — det förorenar namnrymden och gör det svårt att veta var namnen kommer ifrån.
# Avoid:
# from math import *
# Use explicit imports instead
print('namespace tip')

__name__ == '__main__'

if __name__ == '__main__': körs endast när filen körs direkt, inte när den importeras som en modul.
# In your script:
# if __name__ == '__main__':
#     main()
print(__name__)

Ladda om moduler

importlib.reload(module) importerar om en ändrad modul utan omstart. Användbart i interaktiva sessioner.
import importlib, math
importlib.reload(math)
print('reloaded')

dir() och help()

dir(math) listar alla namn i modulen. help(math.sqrt) visar docstringen.
import math
print(dir(math)[:5])

Modulsökväg

Python söker i: skriptets katalog, PYTHONPATH och installationens standardsökväg. Lägg till sökvägar med sys.path.insert(0, '/mydir').
import sys
sys.path.insert(0, '/tmp')
print(sys.path[:3])

Variabeln __all__

Definiera __all__ = ['func1', 'func2'] i en modul för att styra vad from module import * exporterar.
# In mymodule.py:
# __all__ = ['public_func']
# def public_func(): ...
# def _private(): ...
print('__all__ demo')

Snabbtest

Vad skyddar if __name__ == '__main__': mot?

Sammanfattning

Moduler är .py-filer. Använd import eller from...import. if __name__=='__main__': skyddar startpunkter. dir() listar namn. sys.path styr sökordningen.

Fortsätt

Utmärkt! Fortsätt till nästa lektion för att fördjupa era kunskaper.
Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
76
Lektioner
320

Vanliga frågor

Är lektionen ”Skapa och importera moduler” gratis?

Ja – hela texten till ”Skapa och importera moduler” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Skapa och importera moduler”?

Skriv egna moduler och importera dem i andra skript. Ni övar på Python Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Python Academy?

Du behöver inga förkunskaper. Utbildningen i Python Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Skapa och importera moduler”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Python Academy-lektionen?

Ja. Varje Python Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Skapa och importera moduler
  2. Pythons standardbibliotek
  3. Paket och __init__.py
  4. Installera paket med pip
← Tillbaka till Python Academy