HighEnergy ... Projekt von Anfängern

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

Wow deine Ideen hören sich (für mich) echt genial an!
Wozu die ganzen Klassen
Naja ich finde die machen das ganze optisch deutlich übersichtlicher. Ohne die sahs noch konfuser aus ;)
Wieso nutzt Du keine Funktionen?
Weil ich nicht weiß was für Funktionen du meinst :oops:
Zudem ist der ganze Code auf Modulebene! Das ist ziemlich unschön
Finde ich auch, aber was ist Modulebene? :(
Das ganze ist irgend wie komplett unschön!
Kann man so sagen...naja wie ich erwähnte, ich habe seit 2 Jahren Informatikunterricht. Mittlerweile sind wir von Robot Karol auf BlueJ umgestiegen :D Im Unterricht bin ich einer der einzigen die was kapieren, aber viel lernen tun wir da nicht.
Jetzt war ich bei diesen 4-tägigen "Probestudium" und da haben wir mit Python gearbeitet. Ich finds richtig cool, aber natürlich hab ich noch kein Wissen. Gibt es sozusagen "Einführungen" in Python oder gute Bücher (bitte möglichst deutsch)? Ich würd mir ja gerne selbst Sachen beibringen, aber ich weiß net wie...

Jedenfalls danke für deine/eure Hilfe!
mfg
MC MO
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Zum Thema "Einstieg" & "Lernen" gibt es hier massig Threads - such einfach mal. Generell gilt: Arbeite das offizielle Tutorial durch (enthalten in der Doku) und schau mal in die Wiki FAQ (oben im Board verlinkt).

Edit: Ich habe mir mal unter Windows dieses visual-Modul installiert. Dein ergebnis sieht schon ziemlich gut aus imho. Aber der inhalt ist irgend wie pfui :-D Aber die Tutorials sind ja auch nur auf diese Art und Weise aufgebaut...

Was mich am meisten wundert: Es scheint tatsächlich keine eingebaute Persistenz zu geben... oder kennt da jemand was?
BlackJack

@MC_MO: Mit Funktionen sind hier wohl die gemeint die *Du* schreiben solltest.

Zum Beispiel sind Deine Klassen eigentlich keine Klassen sondern Funktionen. Soweit ich das sehe wird keine einzige wirklich als Klasse verwendet. Das ist immer nur Code der in der `__init__()`-Methode ausgeführt wird und `self` überhaupt nicht verwendet. *Das* kann man auch ohne ``class`` haben indem man einfach Funktionen definiert die den Inhalt von `__init__()` haben. Dass das keine Klassen sind die als Vorlage für Objekte verwendet werden, sieht man auch ziemlich deutlich daran, dass Du zwar die Objekte an Namen bindest (Zeile 894 ff.) die aber nicht weiter verwendest. Wenn das tatsächlich objektorientiert entworfen wäre dann hättest Du Objekte die den jeweiligen Teil modellieren und die zu einem Gesamtmodell zusammengesetzt werden. Und dann wäre so etwas wie `move_spider()` eine Methode auf dem Objekt, welches die Spinne modelliert und keine Funktion die auf ein `spider` zugreift, dass aus dem nichts zu kommen scheint.

Code auf Modulebene ist alles was nicht in Klassen oder Funktionen steckt. Und da sollte halt so gut wie nichts stehen ausser eben Klassen, Funktionen, und Konstanten. Dann gäb's auch `spider` und `rotor` nicht "einfach so", das müsste man dann als Argument an Funktionen übergeben, oder sie an ein Objekt binden.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Hier mal ein Schnellschuss:
http://paste.pocoo.org/show/196863/

Eine zugehörige JSON-Datei:
http://paste.pocoo.org/show/196865/

Wie ich gesehen habe, hast Du natürlich durchaus auch Dynamiken drin, also Objekte, die Du anhand eines Parameters variiert anlegst. Dass kan dieses Modell so noch nicht.

Dafür müßte man sich noch etwas ausdenken... evtl. könnte man da was einfaches mittels Template-Engine basteln... *grübel*

Aber immerhin könntest Du den ganzen statischen Kram so auslagern.
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

Vielen Dank, jetzt hab ich das immerhin bisschen verstanden. Mal ausprobieren :D
Antworten