Code-management

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.
Antworten
dnaxx
User
Beiträge: 6
Registriert: Montag 15. August 2005, 09:52

Dienstag 16. August 2005, 15:09

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

Dienstag 16. August 2005, 15:18

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 Modvoice
dnaxx
User
Beiträge: 6
Registriert: Montag 15. August 2005, 09:52

Dienstag 16. August 2005, 15:21

ok.

wenn ich jetzt habe "klasse1.py" und "programm.py". Wie integriere ich jetzt das file "klasse1.py" in "programm.py"? gibt es sowas wie eine "include"-anweisung?
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Dienstag 16. August 2005, 15:24

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:

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.
dnaxx
User
Beiträge: 6
Registriert: Montag 15. August 2005, 09:52

Dienstag 16. August 2005, 15:26

ah. ich hatte einen denkfehler.
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dienstag 16. August 2005, 15:27

Hier ein Beispiel:

programm.py

Code: Alles auswählen

import klasse1
print klasse1.variable
klasse1.py

Code: Alles auswählen

class klasse1:
    variable = "Ich bin's"
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

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dienstag 16. August 2005, 15:34

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...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 16. August 2005, 16:51

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 Modvoice
Antworten