Is Python das richtige?

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
Kampfkuchen
User
Beiträge: 2
Registriert: Dienstag 18. August 2009, 20:22
Wohnort: AT
Kontaktdaten:

Hi,

ich bin neu hier :P
Somit auch in der Python-welt... :D
Bis jetz hab ich nur Programmiersprachen benutzt die so umständlich waren das man fürn hello world schon mal 20-25 Zeilen hat... z.B. C für die PSP...

Hat mir lange zeit spaß gemacht... nur jetz hab ich keinen bock mehr drauf...
ich such ne Script/Programmiersprache die leicht zu verstehn is, 3D tauglich, und recht gut für spiele is... :P

Hab mit Bacht-files begonnen :lol:
dann über HTML, LUA (PSP), C (PSP), JavaScript, C++, Java, PHP, und i-was war da noch... kp :D

Wie alles abläuft weiß ich also schon... nur weiß ich ned wie das alles mit den Compilern geht...
bei mir gehn auch alle samples nachn öffnen gleich wieder zu...


Ähm... ja also so ein "How to - wie fang ichn überhaupt an?!" Tutorial wär ned schlecht :D
Was kann man mit Python alles machen?
Wie geht das mim Compiliern?
bzw. was is mit PyGame? is ne lib oder?

Ich wieß man solls ned tun und so... :lol: aber ich würd gern wenn möglich gleich mit GUI anfangen :oops:
Was könnt ihr mir da empfehlen? :P

Vielen Dank! :wink:
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Hallo!

Also, Tutorials findest du hier im Forum genug, schau mal unter "Links und Tutorials". Mit Python kann man "alles" machen; es gibt schon eine riesige Menge an libraries für jeden Sch.... Einsatzzweck, und du hast auch ne Anbindung an C/C++ (ctypes z.B.). Spiele gehen mit der Pygame-lib, da gibts aber IMHO bessere. 3D-Bibliotheken kenne ich zwar keine, aber es gibt da schon ein paar. Allerdings weiß ich nicht, wie das mit der Geschwindigkeit ist.

Python ist nämlich nicht besonders schnell beim Ausführen ;-) (Das ist in ~70% der Anwendungsfälle egal, aber für Spiele, wo es auf ruckelfreie und latenzfreie Anzeige/Berechnung ankommt, eher nicht.)

"Compilen" gibt es nicht in der Form wie mit C oder C++; du kannst Python-Code nur zu Bytecode (wie Java) übersetzen, der dann vom Python-Interpreter interpretiert wird (vgl: Java Virtual Machine).

Im Prinzip brauchst du fürs Ausführen nur ein Kommando:

Code: Alles auswählen

python yourfile.py
Für GUI würde ich dir auf jeden Fall GTK empfehlen, Qt und Wx mag ich wegen der API nicht so sehr. (Die PyGTK-API ist imho zumindest das geringste Übel.)

So, ich hoffe trotz der späten Zeit nicht zur viele Rechtschreibfehler drinne zu haben :)

Gruß
Benutzeravatar
Michael Schneider
User
Beiträge: 569
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Brandenburg

Hi,

als 3D-Engine mit Python Scripts schau Dir mal Panda3D an!
Das meiste wird von der Engine erledigt, wie das auch sein sollte. Python wird hauptsächlich verwendet, um die Gameobjektstruktur zu verwalten. Du musst Dir dabei die 3D-Welt wie einen Baum vorstellen. Alles was im Baum hängt, wird in der Szene dargestellt, oder zumindest berücksichtigt.
Mit Python kannst Du Objekte, z.B. eine Kisten, laden und einfach an die Baumstruktur an gewünschter Position einhängen. Und voila, schon sind sie in der Scene. Finde ich genial.

Ich habe da auch nur die Tutorials durchgespielt, weil mir die Modell- und Animationserzeugung etwas zeitraubend war. Aber wenn Du firm bist, sag bescheid, dann bauen wir damit mal was. :-)

Achja: wenn Du Deine Scripts in Windows per Doppelklick ausführst, schließt sich das Terminal am Ende der Ausführung automatisch. Entweder Du führst die Scripts in einer MS-DOS Eingabeaufforderung aus (rechtsklick auf die Datei => öffnen mit => MS-DOS Eingabeaufforderung oder so und dann "python scriptname") oder Du fügst Dein Programm in folgende Struktur ein:

Code: Alles auswählen

...
def main():
    << Hauptcode >>

if __name__ == "__main__":
    try:
        main()
    finally:
        raw_input("Enter zum Schliessen")
Ohne den try-finally Block würde das Fenster nur bei korrekter Ausführung das raw_input erreichen und offen bleiben, bei Laufzeitfehlern aber trotzdem verschwinden. Wie angedeutet funktioniert das aber nur bei Laufzeitfehlern, also wenn das Programm in die main() bereits eingetreten ist.

Die bessere Variante ist, das Script aus der Shell oder MS-DOS Eingabeaufforderung zu starten.

Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Benutzeravatar
Michael Schneider
User
Beiträge: 569
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Brandenburg

Und als GUI um sofort anzufangen: Tkinter.
einfach:

Code: Alles auswählen

import Tkinter as tk

tk.Label(text="Hallo Welt!").grid()
tk.Button(text="beenden", command=tk._default_root.destroy).grid()
tk.mainloop()
ausführlich:

Code: Alles auswählen

import Tkinter as tk

root = tk.Tk()
label = tk.Label(root, text="Hallo Welt!")
label.grid(row=1, column=1)
button = tk.Button(root, text="beenden", command=root.destroy)
button.grid(row=2, column=1)
root.mainloop()
Auch, wenn ich jetzt wieder viele Buuuh-Rufe ernten werde von Leuten, die Dir sagen "fang doch gleich mit etwas vernünftigem an". Ich stehe zu Tkinter und habe absolut nichts gegen das Aussehen.
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Es lohnt sich durchaus auch mal in den Forum Beiträgen zu stöbern.
Die Frage ob Python das richtige ist, ist hier schon dutzendfach gestellt und vor und zurueck diskutiert wurden, auch im Vergleich zu anderen Programmiersprachen mit Vor- und Nachteilen.
Benutzeravatar
Michael Schneider
User
Beiträge: 569
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Brandenburg

Ich sehe gerade, da gibt es noch einen parallelen Thread zur Fragen, wie man das Fenster am besten offen halten kann:
http://www.python-forum.de/topic-11739.html
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Kampfkuchen
User
Beiträge: 2
Registriert: Dienstag 18. August 2009, 20:22
Wohnort: AT
Kontaktdaten:

Vielen Dank für eure schnellen antworten! :wink:

Werd mich dann gleich mal drauf stürtzen :P
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Michael Schneider hat geschrieben:Und als GUI um sofort anzufangen: Tkinter.
einfach:

Code: Alles auswählen

import Tkinter as tk

tk.Label(text="Hallo Welt!").grid()
tk.Button(text="beenden", command=tk._default_root.destroy).grid()
tk.mainloop()
ausführlich:

Code: Alles auswählen

import Tkinter as tk

root = tk.Tk()
label = tk.Label(root, text="Hallo Welt!")
label.grid(row=1, column=1)
button = tk.Button(root, text="beenden", command=root.destroy)
button.grid(row=2, column=1)
root.mainloop()
Auch, wenn ich jetzt wieder viele Buuuh-Rufe ernten werde von Leuten, die Dir sagen "fang doch gleich mit etwas vernünftigem an". Ich stehe zu Tkinter und habe absolut nichts gegen das Aussehen.
Buuuuuuuuuuuuuh :lol:, ich empfehle wxPython und das Tut: http://wiki.wxpython.org/AnotherTutorial und das: http://www.zetcode.com/wxpython/ , die beiden sind sich ziemlich ähnlich, (zu ähnlich), ich nehme an dass teile aus dem 1 tut ins 2. kopiert wurden, find ich aber nicht schlimm und auf http://wxpython.org unbedingt auch die wxPython demo runterladen (Goldwert)

als absoulutes Anfängerbuch in Python empfehle ich die Python4kids (das Buch gibts auf amazon http://www.amazon.de/Python-f%C3%BCr-Ki ... 577&sr=8-1 ) und A byte of Python http://abop-german.berlios.de/

mfg
Ene Uran
User
Beiträge: 125
Registriert: Sonntag 17. September 2006, 20:14
Wohnort: Hollywood

Zum Anfang die Tkinter GUI, nett und einfach zu lernen. PyGTK ist furchtbar wenn du eine Windows Kiste hast. Unter furchtbar ist nicht nur der Syntax, aber auch die Installation und dann mal spaeter die Weitergabe deiner Programme. Ich habe mal versucht eine einfache Listbox mit PyGTK zu bauen, was ein Chaos das ist!
Atomkraftwerkaktienbesitzer
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ene Uran hat geschrieben:Ich habe mal versucht eine einfache Listbox mit PyGTK zu bauen, was ein Chaos das ist!
Kiwi existiert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Denke in guter Einstieg finde man hier: [wiki]FAQ[/wiki]

Ansonsten ist blender vielleicht interessant. Hat ja auch was in Richtung Game-Engine...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten