Hallo,
Ich habe mittlerweile einige Klassen erstellt. Alle befinden sich in einem Python-file.
Gibt es in python - ähnlich wie in java eine strategie zum verwalten der einzelnen klassen in eigenen files (nicht als module)?
Wirkt sich das aufspalten - falls es überhaupt möglich ist - stark negativ auf die performance aus?
danke,
Code-management
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Richtlinien/Strategien (oder im Falle Javas - Zwänge) gibt es nicht, man macht halt wie man es für sinnvoll hält. Auf die Performance wirkt sich das nur unmerklich aus, um nicht zu sagen unmessbar.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Was spricht gegen Module?
Es ist ja kein zusätzlicher Aufwand, man muss ja
nur in dem File, dass eine Klasse aus einem anderen verwendet ne import-Anweisung schreiben.
Meiner Erfahrung nach wird das lokale Verzeichnis standardmäßig durchsucht, also muss man auch nix groß mit den Pfaden machen.
Und das Präfix musst du ja auch nicht übernehmen, wenn du
"import * from blahblah" benutzt!
Von der Aufteilung her würde ich es wir bei den meisten anderen Sprachen machen und jede größere Klasse in eine Datei packen und halt die kleineren Sachen, die dazu gehören mit rein...
HTH
Henning
Edit:
Für dein Beispiel:
Es ist ja kein zusätzlicher Aufwand, man muss ja
nur in dem File, dass eine Klasse aus einem anderen verwendet ne import-Anweisung schreiben.
Meiner Erfahrung nach wird das lokale Verzeichnis standardmäßig durchsucht, also muss man auch nix groß mit den Pfaden machen.
Und das Präfix musst du ja auch nicht übernehmen, wenn du
"import * from blahblah" benutzt!
Von der Aufteilung her würde ich es wir bei den meisten anderen Sprachen machen und jede größere Klasse in eine Datei packen und halt die kleineren Sachen, die dazu gehören mit rein...
HTH
Henning
Edit:
Für dein Beispiel:
Code: Alles auswählen
# klasse1.py
# -------------
# ...code von klasse1....
# programm.py
# ----------------
import * from klasse1
# ...code...
Zuletzt geändert von henning am Dienstag 16. August 2005, 15:27, insgesamt 1-mal geändert.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Hier ein Beispiel:
programm.py
klasse1.py
Wenn beide Dateien nicht in einem Verzeichnis sind, dann sucht Python im Pfad nach dem Modul. Man kann aber einfach den Pfad erweitern: http://www.python-forum.de/viewtopic.php?t=3674
programm.py
Code: Alles auswählen
import klasse1
print klasse1.variable
Code: Alles auswählen
class klasse1:
variable = "Ich bin's"
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Da die Frage zum Thema import, öfters vorkommen, hab ich mal im Wiki einen Punkt in die FAQ eingefügt:
http://www.pythonwiki.de/PythonDeForum/ ... 52c0f4a7bb
Allerdings bin ich gerade schreibfaul...
http://www.pythonwiki.de/PythonDeForum/ ... 52c0f4a7bb
Allerdings bin ich gerade schreibfaul...
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ich habe schon im Wiki einiges dazu geschreiben, unter ModulImporte. Ich denke, die Informationen kann man dort auch reinschreiben, ich müsste nur mal fertigwerden 

My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice