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.
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...
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.
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).
import matplotlib.pyplot as plt
import seaborn as sns
Standardkonventionen (pd, np, plt, sns, tf, torch) machen Code sofort lesbar.
# 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')
sys.modules – falls schon geladen, cached Modul zurückgebensys.path (aktuelles Verzeichnis, 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', ...]
'' = aktuelles Skript-Verzeichnis (oder CWD wenn interaktiv)pip install paket → site-packagessite-packages
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']
| Problem | Ursache | Lösung |
|---|---|---|
ModuleNotFoundError | Nicht installiert / falsches Env / Tippfehler | pip install, Venv prüfen, Schreibweise prüfen |
ImportError: cannot import name | Zirkulärer Import / Name nicht im Modul | Strukturieren, Imports in Funktionen verschieben |
| Namenskonflikt | from x import * oder lokale Datei schattet stdlib | Dateien nicht math.py, random.py nennen; explizite Imports nutzen |
| Relativer Import Fehler | Modul als Skript ausführen | Als python -m paket.modul ausführen oder absolute Imports nutzen |
import modul nutzen statt from modul import *pyproject.toml, pip install -e .)from __future__ import annotations + TYPE_CHECKING Guards
# 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.
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
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
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