Seite 1 von 1

Import von Modulen

Verfasst: Dienstag 7. Juni 2005, 07:04
von alpha
Hallo Pythonfans,

mal eine ganz Grundsätzliche Frage:
Wenn ich z.B. das Modul "time" importiern will habe ich ja 2 Moglichkeiten.
Methode 1:

Code: Alles auswählen

import time
Methode 2:

Code: Alles auswählen

from time import *
nach Methode 1 greife ich ja dann auf die Funktionen wie folgt zu:
x = time.time()
bei Methode 2
x = time()

Bei der 2. methode importiere ich ja die Funktionen zu meinen Basisfunktionen. (Wenn man das so sagen kann)
Was ist der Vorteil? Meiner Meinung nach ist das doch die schlechtere Variante, da man so nicht mehr den Zusammenhang zu den Modulen erkennt. Wieso bietet Python da 2 Möglichkeiten an, was ja eigentlich eher Pythonuntypisch ist?

Danke schonmal für eure Beiträge

Gruss
alpha

Verfasst: Dienstag 7. Juni 2005, 09:46
von rayo
Hi

Code: Alles auswählen

from time import *
ist gar nicht zu empfehlen, weil man da den Namespace deiner Applikation vollschreibt (Variabeln von dir könnten überschrieben werden). Man weiss ja nie was in so einem Modul noch alles drin stecken könnte.

mit

Code: Alles auswählen

import time

time.time()
sieht man auch gleichzeitig woher die Funktion stammt (fall es deine Eigene ist und einen Fehler produziert) und es wird nur 1 Name im Namespace verbraucht (time).

Code: Alles auswählen

from time import time
verwende ich nur sehr selten, vielleicht beim math modul wenn man sin oder so braucht.

Gruss

Verfasst: Dienstag 7. Juni 2005, 12:04
von Leonidas
Dann stelle ich auch gleich noch eine weitere Möglichkeit vor:

Code: Alles auswählen

import Tkinter as tk
Damit importiert man das Tkinter Modul als tk. Hat den Vorteil, dass es deinen Namensraum nicht vollschreibt und das du aber trotzdem nicht immer so viel tippen musst.

Verfasst: Dienstag 7. Juni 2005, 14:11
von mitsuhiko
Also ich mag das.
Bestes Beispiel:

Code: Alles auswählen

from bonobo import event_source_client_add_listener as addEventListener
Aber auch bei Datenbanken mache ich das so, damit ich sie später in einem Ruck austauschen kann.