Hallo,
ich habe nur eine definitions Frage.
Ich habe ein Programm geschrieben, dass aus drei Klassen besteht. Wobei ich jede Klasse in eine eigene Datei geschrieben habe.
Es gibt die Grafik-Klasse, in der ich die beiden anderen importiere.
Ist diese aus der Grafik-Klasse ausgelagerte Klasse ein Modul?
Oder was definiert ein Modul?
Danke schon mal,
Gruß
LordMyder
ausgelagerte Klasse == Modul ??
-
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
Im weiteren Sinne ist jede .py-Datei ein Modul. Im engeren verstehe ich unter einem Modul jedoch nur solche Dateien, die "von selbst nix machen".Weigend hat geschrieben:Module sind Dateien, die Definitionen von Klassen, Funktionen, Konstanten sowie direkt ausführbare Python-Anweisungen enthalten können. Der Dateiname endet mit der Extension .py.[...]Bei besonders strikter objektorientierter Programmierung wird manchmal jede Klassendefinition in einem eigenen Modul [...] abgespeichert.
Wobei nur Deine "weitere" Definition der offiziellen Definition auch entspricht:
http://docs.python.org/tut/node8.html
Gruß,
Christian
http://docs.python.org/tut/node8.html
Gruß,
Christian
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Der weitere Sinn stimmt, der engere Sinn ist Quatsch: jede Python-Datei ist ein Modul. Man kann beispielsweise auch die aktuell ausgeführte Datei in sich selbst importieren. Module können aber auch .pyd-Dateien sein und einige .so-Dateien sind ebenfalls gültige Python-Module. .pyc und .pyo-Dateien sind ebenso Module.schlangenbeschwörer hat geschrieben:Im weiteren Sinne ist jede .py-Datei ein Modul. Im engeren verstehe ich unter einem Modul jedoch nur solche Dateien, die "von selbst nix machen".
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
kannte ich noch nicht, scheint man aber auch nicht mehr zu brauchen... oder doch?BlackJack hat geschrieben:Und man kann natürlich auch noch welche mit `new.module()` erstellen.
Help on module new:
NAME
new - Create new objects of various types. Deprecated.
FILE
c:\python23\lib\new.py
DESCRIPTION
This module is no longer required except for backward compatibility.
Objects of most types can now be created by calling the type object.
Hm, das wusste ich noch gar nicht. Also muss man in sauberem, neuen Quelltext wohl auf `types.ModuleType()` zurückgreifen.
Lass mich raten: du kommst aus der Java-Ecke, oder?lordmyder hat geschrieben:Wobei ich jede Klasse in eine eigene Datei geschrieben habe.
Du solltest Klassen nach Funktion in Dateien kopieren, (in der Regel) nicht jede einzeln.