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 ??
-
schlangenbeschwörer
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
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
-
Leonidas
- 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.
-
BlackJack
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.
