En modul är en enskild .py-fil; ett paket är en katalog med moduler. Imports låter dig använda kod från andra moduler och organiserar ett program i återanvändbara delar.
Moduler och import
(): a + b
PI =
# main.py — different ways to import
import math_utils # import the whole module
math_utils.add(2, 3) # access via the module name
from math_utils import add, PI # import specific names
add(2, 3) # use directly
from math_utils import add as plus # import with an alias
import numpy as np # common aliasing convention
mypackage/
__init__.py ← marks it as a package (can be empty)
module_a.py
subpackage/
__init__.py
module_b.py
from mypackage.module_a import something
from mypackage.subpackage.module_b import other
Filen __init__.py markerar en katalog som ett paket (och kan köra paketinitialisering eller definiera vad from package import * exponerar).
if __name__ == "__main__"def main():
print("running as a script")
if __name__ == "__main__": # True only when run directly, not when imported
main()
Detta gör att en fil kan fungera både som en importerbar modul och ett körbart skript — koden under den körs endast när filen körs direkt (python file.py), inte när den importeras. En nästan universell Python-idiom.
import sys
sys.path # the list of directories Python searches for imports
# includes: the current directory, installed packages (site-packages), stdlib
import os, json, datetime # standard library — "batteries included"
import requests # third-party — installed via pip from PyPI
Moduler och paket är hur du organiserar Python-kod i återanvändbara, underhållbara enheter snarare än en gigantisk fil — grundläggande för alla icke-triviala projekt.
Att förstå importstilarna, paketstrukturen (__init__.py), idiomen if __name__ == "__main__" (dubbelt skript/modultillstånd) och hur Python hittar moduler (sys.path) är väsentligt för att strukturera projekt, återanvända kod och använda det omfattande standardbiblioteket och PyPI-ekosystemet.
Importfel och strukturförvirring är vanliga initiala hinder som denna kunskap löser.
Ett bibliotek med IT-intervjufrågor och detaljerade svar — från Junior till Senior.
Donera