Aufbau von Python-Projekten
Verfasst: Donnerstag 31. Dezember 2020, 00:45
Hallo,
ich habe eine sehr allgemeine Frage zur Projektstruktur von Python / Pycharm. In einem größeren Projekt wird der Code ja auf mehrere Dateien aufgeteilt. Das gleiche habe ich auch mit meinem Projekt vor. Nun bin ich mir unsicher, wie diese Dateien miteinander "verknüpft" werden. Ich habe bereits ein Computerspiel programmiert, allerdings in Blitzmax. Dort musste ich eine "main-Datei" deklarieren, und in diese Main-Datei habe ich alle anderen Dateien importiert. Das ging ziemlich einfach durch den Befehl "Include" (zB "Include gamelogic.bmx"). Das gleiche habe ich jetzt mit meiner main-Datei gemacht:
Somit kann ich zB in meiner Main-Datein folgende Funktion aufrufen:
Was mich jetzt irritiert, ist, dass ich bei den anderen Dateien (zB in logic.py) ebenfalls die anderen Dateien importieren muss, damit ich sie nutzen kann. Auch muss ich in jeder Datei pygame neu importieren. Das verwirrt mich etwas, denn in meiner Vorstellung importiere ich in der main-Datei alle Dateien aus dem Ordner include, und kann die Funktionen und Klassen dieser Dateien dann überall anwenden, und auch pygame, das ich ja in der main importiere, in allen anderen Dateien ansprechen. Ich bin mir sicher, dass ich das wohl ziemlich falsch mache, eventuell muss ich Pycharm irgendwie sagen, dass diese geladenen Dateien zum Projekt gehören? Daher würde ich mich sehr über Hinweise zum korrekten Aufbau von Python-Projekten in Pycharm sehr freuen.
ich habe eine sehr allgemeine Frage zur Projektstruktur von Python / Pycharm. In einem größeren Projekt wird der Code ja auf mehrere Dateien aufgeteilt. Das gleiche habe ich auch mit meinem Projekt vor. Nun bin ich mir unsicher, wie diese Dateien miteinander "verknüpft" werden. Ich habe bereits ein Computerspiel programmiert, allerdings in Blitzmax. Dort musste ich eine "main-Datei" deklarieren, und in diese Main-Datei habe ich alle anderen Dateien importiert. Das ging ziemlich einfach durch den Befehl "Include" (zB "Include gamelogic.bmx"). Das gleiche habe ich jetzt mit meiner main-Datei gemacht:
Code: Alles auswählen
from Include import logic
from Include import loadsave
from Include import types
Code: Alles auswählen
logic.UIstart()