Import von Modulen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Import von Modulen

Beitragvon alpha » Dienstag 7. Juni 2005, 07:04

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
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Beitragvon rayo » Dienstag 7. Juni 2005, 09:46

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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 7. Juni 2005, 12:04

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Dienstag 7. Juni 2005, 14:11

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.
TUFKAB – the user formerly known as blackbird

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], calo