Pythons `import`-Anweisung: Module, Namespaces & Best Practices

In Python ist import der Weg, Code aus einem Modul in ein anderes zu holen. Es gibt kein „main import“ – das ist kein Python-Begriff. Hier ist, wie es wirklich funktioniert, mit Mustern für den täglichen Gebrauch.

Grundlegende Import-Syntax

import modulname

Dies lädt modulname und bindet es an eine Variable in Ihrem aktuellen Namespace. Sie greifen mit Punktnotation darauf zu:


import math
math.sqrt(16) # 4.0
math.pi # 3.14159...

Gängige Import-Muster

1. Modul importieren (Empfohlener Standard)


import pandas as pd
import numpy as np
df = pd.DataFrame({'a': [1,2,3]})
arr = np.array([1,2,3])

Vorteile: Explizit, lesbar, vermeidet Namenskonflikte, zeigt Herkunft.

2. Bestimmte Namen importieren


from math import sqrt, pi
sqrt(16) # 4.0 – kein Präfix nötig
pi # 3.14159...

Nutzen wenn: Sie wenige Namen intensiv nutzen. Vermeiden: from modul import * (Namespace-Verschmutzung).

3. Import mit Alias


import matplotlib.pyplot as plt
import seaborn as sns

Standardkonventionen (pd, np, plt, sns, tf, torch) machen Code sofort lesbar.

4. Bedingte / Lazy Imports


# Schwere Dependencies nur bei Bedarf importieren
def analyze_data():
    import pandas as pd # Lokaler Import – schneller Start wenn ungenutzt
    return pd.read_csv('data.csv')

Wie Import unter der Haube funktioniert

  1. Prüft sys.modules – falls schon geladen, cached Modul zurückgeben
  2. Findet Modul via sys.path (aktuelles Verzeichnis, PYTHONPATH, site-packages, stdlib)
  3. Führt Modulcode aus – führt Top-Level-Statements aus (def, class, Zuweisungen)
  4. Erstellt Modulobjekt – Namespace für Modul-Globals
  5. Cacht in sys.modules
  6. Bindet Name im Importeur-Namespace (pro import-Statement)

Modulsuchpfad (sys.path)


import sys
sys.path # ['', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload',
# '/home/user/.local/lib/python3.11/site-packages', ...]
  • '' = aktuelles Skript-Verzeichnis (oder CWD wenn interaktiv)
  • Pakete installieren: pip install paket → site-packages
  • Virtual Environments isolieren site-packages

Pakete & Submodule


import paket.submodul
from paket import submodul
from paket.submodul import funktion

Verzeichnis mit __init__.py = Paket. __init__.py kann Submodule exponieren:


# paket/__init__.py
from .submodul import public_function
__all__ = ['public_function']

Häufige Fallen & Lösungen

ProblemUrsacheLösung
ModuleNotFoundErrorNicht installiert / falsches Env / Tippfehlerpip install, Venv prüfen, Schreibweise prüfen
ImportError: cannot import nameZirkulärer Import / Name nicht im ModulStrukturieren, Imports in Funktionen verschieben
Namenskonfliktfrom x import * oder lokale Datei schattet stdlibDateien nicht math.py, random.py nennen; explizite Imports nutzen
Relativer Import FehlerModul als Skript ausführenAls python -m paket.modul ausführen oder absolute Imports nutzen

Best Practices

  1. Standardbibliothek zuerst, dann Drittanbieter, dann lokal – jede Gruppe alphabetisch
  2. Ein Import pro Zeile (PEP 8)
  3. import modul nutzen statt from modul import *
  4. Aliases: Community-Standards nutzen (pd, np, plt, tf, torch)
  5. Laufzeit-Pfad-Manipulation vermeiden – richtiges Packaging nutzen (pyproject.toml, pip install -e .)
  6. Type Checking: from __future__ import annotations + TYPE_CHECKING Guards

Beispiel: Sauberer Import-Block


# Standardbibliothek
import json
import os
from pathlib import Path
from typing import List, Optional
# Drittanbieter
import numpy as np
import pandas as pd
import requests
# Lokal
from myproject.config import settings
from myproject.models import User
from myproject.utils import logger

Pythons Import-System ist mächtig, explizit und vorhersehbar – einmal verstanden das Namespace-Modell. Die goldene Regel: Machen Sie offensichtlich, woher jeder Name kommt. Ihr zukünftiges Ich (und Teamkollegen) werden es danken.

Währung & Geldwechsel
  • Santander Bank Spanien IBAN-Format: Struktur und Beispiel

    Eine IBAN (International Bank Account Number) für die Santander Bank in Spanien folgt dem standardmäßigen spanischen Format: 24 alphanumerische Zeichen. Struktur ES## #### #### ## ########## | | | | | | | | | └─ Kontonummer (10 Stellen) | | | └──── Filialcode (2 Stellen) | | └────────── Bankcode (4

  • Was ist Guatemalas Währung? Der Quetzal erklärt

    Guatemalas offizielle Währung ist der Guatemaltekische Quetzal (GTQ), benannt nach dem prächtigen Quetzal – dem Nationalvogel und Symbol der Freiheit in der Maya-Kultur. Der ISO-Code ist GTQ; das Symbol Q. Kurzfakten Untereinheit: 1 Quetzal = 100 Centavos. Banknoten: Q1, Q5, Q10, Q20, Q50, Q100, Q2

  • MoneyGram nach Nigeria senden

    Ja, MoneyGram ist in Nigeria aktiv. So gehts: MoneyGram-Agent aufsuchen (Bank, Post). Vorlegen: Ihr Ausweis, Absender/Empfängerdaten, Betrag, Währung, Verwendungszweck. Referenznummer erhalten; an Empfänger weitergeben für Abholung. Gebühren variieren nach Betrag und Währung; Anbieter vergleichen

Copyright Reisen © https://de.ynyoo.com