Hallo,
stoße bei recherchen im Netz immer wieder auf Python. Python scheint momentan in zu sein. Bei meiner Suche über Python bin ich auf so viele Begriffe, Erläuterungen, Plugin's usw. gestoßen, daß ich richtig erschlagen bin.
Ehrlich gesagt, ich weiß nicht mit was und wie ich anfangen soll.
Vielleicht mal kurz meine Anforderungen oder Vorstellungen:
- GUI
Ich bin es leid, jede Komponente per Hand zu tippeln (sowas wie Delphi oder VB, wär gut).
- Debuggen
ohne geht's nicht.
- Datenbankanbindung an mySQL.
- evtl. PHP, AJAX request, usw. für die Datenbearbeitung. Oder geht das in Python anders???
- Tutorial (nicht gerade eines, mit dem man "Hello World" erzeugt.
Vielen Dank erstmal.
Josef
Was brauche ich ??
- GUI Toolkits haben ihre eigenen Designer
- Debugger und Profiler sind in der stdlib
- oursql
- Django, Pyramid und Flask als populäre Frameworks, Werkzeug und Webob als Libraries existieren für Webanwendungen, desweiteren lies PEP 333 und PEP 3333
- http://docs.python.org/tutorial sowie http://docs.python.org/reference erklären alles relevante
- Debugger und Profiler sind in der stdlib
- oursql
- Django, Pyramid und Flask als populäre Frameworks, Werkzeug und Webob als Libraries existieren für Webanwendungen, desweiteren lies PEP 333 und PEP 3333
- http://docs.python.org/tutorial sowie http://docs.python.org/reference erklären alles relevante
Schau dir mal pyqt an. Allerdings solltest du lieber erstmal anfangen die Grundlagen der Sprache zu beherrschen- GUI
Ich bin es leid, jede Komponente per Hand zu tippeln (sowas wie Delphi oder VB, wär gut).
Ist in einer Entwicklungsumgebung wie pydev integriert. Jedoch hab ich das Gefühl das gerade bei Python in Vergleich zu anderen Sprachen ein Debugger recht wenig genutzt wird, das liegt vmtl. daran, das es z.B. möglich ist nach Ausführen des Programms in den interaktiven Modus zu wechseln und sich dort die entsprechenden Objekte anzuschauen. Außerdem kann man die Funktionsweise einzelner Codeschnipsel schon zuvor im interaktiven Modus ausprobieren.- Debuggen
ohne geht's nicht.
Kommt drauf an was du machen willst. Für Webentwicklung ist eine entsprechende Bibliothek evtl. bereits im Webframework integriert. Was hast du denn vor?- Datenbankanbindung an mySQL
Bitte was??? Was redest du da für einen Unsinn? PHP ist eine andere Programmiersprache - ich denk du willst Python verwenden. Und was hat Ajax mit Datenverarbeitung zu tun?- evtl. PHP, AJAX request, usw. für die Datenbearbeitung. Oder geht das in Python anders???
http://docs.python.org/tutorial- Tutorial (nicht gerade eines, mit dem man "Hello World" erzeugt.
MFG HerrHagen
Hallo,
ich habe mit A Byte of Python begonnen.
Falls Dir das zu simpel ist, ist das Python Tutorial in meinen Augen ebenfalls ein sehr guter Einstieg. Das ganze andere Zeugs ist eigentlich nur ein Umweg, um dann früher oder später doch beim offiziellen Tutorial zu landen... Und daneben immer die Library Reference offenhalten.
Und die Ratschläge, die man hier im Forum erhält, sind erste Sahne! Kein Halbwissen, mit dem man nach 3 Tagen warten abgespeist wird, sondern fundierte, zielführende Hilfestellung innerhalb kürzester Zeit!!! Welcher Nobelpreis würde dafür eigentlich in Frage kommen?
Gruß
mutetella
ich habe mit A Byte of Python begonnen.
Falls Dir das zu simpel ist, ist das Python Tutorial in meinen Augen ebenfalls ein sehr guter Einstieg. Das ganze andere Zeugs ist eigentlich nur ein Umweg, um dann früher oder später doch beim offiziellen Tutorial zu landen... Und daneben immer die Library Reference offenhalten.
Und die Ratschläge, die man hier im Forum erhält, sind erste Sahne! Kein Halbwissen, mit dem man nach 3 Tagen warten abgespeist wird, sondern fundierte, zielführende Hilfestellung innerhalb kürzester Zeit!!! Welcher Nobelpreis würde dafür eigentlich in Frage kommen?
Gruß
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
-
- User
- Beiträge: 4
- Registriert: Sonntag 16. Januar 2011, 18:13
Hallo,
Dachte, diese Begriffe würden ausreichen, um zu erklären, mit was ich bisher gearbeitet habe. Eben mit mySQL PHP und Requests. Zudem steht da gleich dahinter, ob man das mit Python anders macht.
Also, laß solche Formulierungen bleiben oder antworte erst gar nicht, wenn ich in Deinen Augen zu blöd frage.
Vielleicht ginge ja mit Python beides?
Liege ich mit folgenden Downloads richtig?
Python 2.7.1 Windows Installer
Django 1.2.4
oursql 0.9.2
noch was ??? oder was anderes ???
Ansonsten vielen Dank für die Hinweise.
Josef
na na na, wo bleibt den deine gute Erziehung.Bitte was??? Was redest du da für einen Unsinn? PHP ist eine andere Programmiersprache - ich denk du willst Python verwenden. Und was hat Ajax mit Datenverarbeitung zu tun?
Dachte, diese Begriffe würden ausreichen, um zu erklären, mit was ich bisher gearbeitet habe. Eben mit mySQL PHP und Requests. Zudem steht da gleich dahinter, ob man das mit Python anders macht.
Also, laß solche Formulierungen bleiben oder antworte erst gar nicht, wenn ich in Deinen Augen zu blöd frage.
Naja bisher hab ich Desktopanwendungen mit Delphi gemacht. Webanwendungen mit MySQL, PHP, Javascript.Kommt drauf an was du machen willst. Für Webentwicklung ist eine entsprechende Bibliothek evtl. bereits im Webframework integriert. Was hast du denn vor?
Vielleicht ginge ja mit Python beides?
Liege ich mit folgenden Downloads richtig?
Python 2.7.1 Windows Installer
Django 1.2.4
oursql 0.9.2
noch was ??? oder was anderes ???
Ansonsten vielen Dank für die Hinweise.
Josef
-
- User
- Beiträge: 4
- Registriert: Sonntag 16. Januar 2011, 18:13
Hallo,
Wär das was für mich (im Hinblick auf GUI) oder gibt es was besseres (wieder so eine dumme Formulierung)???
Ich möchte einfach schon am Anfang vermeiden, daß ich "falsch" anfange. In anderen Foren taucht bei Fragen öfter Mal die Formulierung auf: "Warum nimmst du denn nicht xxxxxx. Ist effektiver, schneller und was weiß ich.
Danke.
Josef
Ich hab grad angefangen darin zu lesen und bin dabei auf Bo Constructor gestoßen.ich habe mit A Byte of Python begonnen.
Wär das was für mich (im Hinblick auf GUI) oder gibt es was besseres (wieder so eine dumme Formulierung)???
Ich möchte einfach schon am Anfang vermeiden, daß ich "falsch" anfange. In anderen Foren taucht bei Fragen öfter Mal die Formulierung auf: "Warum nimmst du denn nicht xxxxxx. Ist effektiver, schneller und was weiß ich.
Danke.
Josef
hmmm., denk dran Python ist ein Interpreter und keine schnelle Delphi-Maschine... .
Nicht das du Schnelligkeit erwartest, dann bist du falsch mit Python.
Alle schnellen Grafiksachen(Pygame) habe eine Dll die in C oder C++ erstellt wurden.
Also das Rad wurde dann da wieder neu erfunden.
Also vergiss Python.
Nicht das du Schnelligkeit erwartest, dann bist du falsch mit Python.
Alle schnellen Grafiksachen(Pygame) habe eine Dll die in C oder C++ erstellt wurden.
Also das Rad wurde dann da wieder neu erfunden.
Ich glaube die Jungs haben recht , was sie sagen. Du hast falsche Erwartungen von Python wenn du schon gleich beim zweiten Satz mit Gui...usw ankommst.Ich möchte einfach schon am Anfang vermeiden, daß ich "falsch" anfange. In anderen Foren taucht bei Fragen öfter Mal die Formulierung auf: "Warum nimmst du denn nicht xxxxxx. Ist effektiver, schneller und was weiß ich.
Also vergiss Python.
@josefkoller: Nur die Begriffe haben offensichtlich nicht gereicht, denn ich wusste auch nicht was PHP und AJAX und die Frage ob man das in Python anders macht, eigentlich sollte. Denn ganz offensichtlich schreibt man in Python Python und nicht PHP. Der Satz macht(e) keinen Sinn.
In Python gehen sowohl Desktop als auch Webanwendungen. Bei Webanwendungen benutzt man in der Regel ein Rahmenwerk. Django hat da eine gewisse Verbreitung. Für kleine, oder auch sehr individuelle Sachen bietet sich eines der Mikrorahmenwerke wie Bottle oder Flask an.
Und ja, Webentwicklung funktioniert anders als bei PHP, es sei denn man hat dort auch ein Rahmenwerk verwendet, das ähnlich wie solche in Python (oder Java, Perl, Ruby, ...) funktioniert.
Ob Django `oursql` unterstützt weiss ich nicht, da brauchst Du eventuell eine DB-Anbindung für MySQL, die von Django unterstützt wird, oder für Django etwas um `oursql` verwenden zu können.
Beim Thema GUI müsstest Du Dich vielleicht erst einmal auf ein GUI-Toolkit und eine Anbindung daran festlegen. Die haben alle leicht verschiedene Eigenschaften sowohl technischer Natur als auch was zum Beispiel Lizenzen angeht. GUI-Designer gibt's wohl für alle. Bei `Tkinter` und `wx` habe ich bisher immer "handgeschriebene" GUIs bevorzugt. Das muss man IMHO sowieso mindestens einmal gemacht haben, damit man die Grundlagen des GUI-Toolkits besser versteht.
Boa Constructor wäre dann übrigens wxWidgets als GUI-Toolkit. Falls Du Dich fragst ob dass das "beste" GUI-Toolkit ist: Da wirst Du so viele Meinungen hören, wie es GUI-Toolkits gibt. Letztendlich musst Du selbst entscheiden womit Du klar kommst und was für Deine Situation das passende ist.
Entgegen der Meinung von funkheld ist Python sowohl für Desktop- als auch für Webanwendungen geeignet. Es wird ja schliesslich für beides auch eingesetzt. Wenn reines Python zu langsam ist, dann gibt es in der Tat Module und Anbindungen an Bibliotheken, die in anderen Programmiersprachen geschrieben wurden, aber das ist eher eine Stärke von Python als eine Schwäche.
In Python gehen sowohl Desktop als auch Webanwendungen. Bei Webanwendungen benutzt man in der Regel ein Rahmenwerk. Django hat da eine gewisse Verbreitung. Für kleine, oder auch sehr individuelle Sachen bietet sich eines der Mikrorahmenwerke wie Bottle oder Flask an.
Und ja, Webentwicklung funktioniert anders als bei PHP, es sei denn man hat dort auch ein Rahmenwerk verwendet, das ähnlich wie solche in Python (oder Java, Perl, Ruby, ...) funktioniert.
Ob Django `oursql` unterstützt weiss ich nicht, da brauchst Du eventuell eine DB-Anbindung für MySQL, die von Django unterstützt wird, oder für Django etwas um `oursql` verwenden zu können.
Beim Thema GUI müsstest Du Dich vielleicht erst einmal auf ein GUI-Toolkit und eine Anbindung daran festlegen. Die haben alle leicht verschiedene Eigenschaften sowohl technischer Natur als auch was zum Beispiel Lizenzen angeht. GUI-Designer gibt's wohl für alle. Bei `Tkinter` und `wx` habe ich bisher immer "handgeschriebene" GUIs bevorzugt. Das muss man IMHO sowieso mindestens einmal gemacht haben, damit man die Grundlagen des GUI-Toolkits besser versteht.
Boa Constructor wäre dann übrigens wxWidgets als GUI-Toolkit. Falls Du Dich fragst ob dass das "beste" GUI-Toolkit ist: Da wirst Du so viele Meinungen hören, wie es GUI-Toolkits gibt. Letztendlich musst Du selbst entscheiden womit Du klar kommst und was für Deine Situation das passende ist.
Entgegen der Meinung von funkheld ist Python sowohl für Desktop- als auch für Webanwendungen geeignet. Es wird ja schliesslich für beides auch eingesetzt. Wenn reines Python zu langsam ist, dann gibt es in der Tat Module und Anbindungen an Bibliotheken, die in anderen Programmiersprachen geschrieben wurden, aber das ist eher eine Stärke von Python als eine Schwäche.
Hallo.
Am besten ignorierst du funkhelds Beitrag, außer die benötigts unqualifizierte Meinungen. Der ist irgendwo in den 70ern hängen geblieben
Mit "A Byte of Python" machst du auf jeden Fall nichts falsch, als Alternative bietet sich noch die Übersetzung des "original" Python-Tutorials an. An der Übersetzung haben hier einige aus dem Forum mitgeholfen, du weißt also, von wem die Informationen kommen.
Ich würde dir empfehlen, als erstes eins der beiden Tutorials durchzuarbeiten und vielleicht die ein oder andere Beispielanwendung zu schreiben. Wenn du etwas Feedback zu deinem Code möchtest, kannst du diesen hier auch posten. Erfahrungsgemäß wirst du am Anfang sicherlich vieles falsch und umständlich machen, mit den dadurch gewonnen Hinweisen wird sich das dann sicher ändern.
Wenn du die ersten Programme fertig hast, kannst du dich an die GUIs trauen. Es hängt ein wenig davon ab, wie fit du bereits mit OOP bist, irgendwie wirst du dich sicher durchschlagen Danach kannst du dich auch an die großen Webframeworks trauen. Vielleicht lohnt sich vorher auch ein Blick auf Bottle oder Flask. Diese sind recht handlich und du kannst sehr schnell Ergebnisse erzielen. Um damit umzugehen reichen auch die Grundlagen aus dem vorherigen Absatz.
Die Arbeit mit Datenbanken kannst du im Prinzip zu jeder Zeit beginnen. Die Schnittstellen sind kinderleicht zu bedienen und mit SQL kannst du schon umgehen. Aber auch hier gibt es natürlich noch Frameworks, mit denen du dir das Leben einfacher machen kannst. Aber vielleicht alles zu seiner Zeit ^^
Bis dann,
Sebastian
Am besten ignorierst du funkhelds Beitrag, außer die benötigts unqualifizierte Meinungen. Der ist irgendwo in den 70ern hängen geblieben
Mit "A Byte of Python" machst du auf jeden Fall nichts falsch, als Alternative bietet sich noch die Übersetzung des "original" Python-Tutorials an. An der Übersetzung haben hier einige aus dem Forum mitgeholfen, du weißt also, von wem die Informationen kommen.
Ich würde dir empfehlen, als erstes eins der beiden Tutorials durchzuarbeiten und vielleicht die ein oder andere Beispielanwendung zu schreiben. Wenn du etwas Feedback zu deinem Code möchtest, kannst du diesen hier auch posten. Erfahrungsgemäß wirst du am Anfang sicherlich vieles falsch und umständlich machen, mit den dadurch gewonnen Hinweisen wird sich das dann sicher ändern.
Wenn du die ersten Programme fertig hast, kannst du dich an die GUIs trauen. Es hängt ein wenig davon ab, wie fit du bereits mit OOP bist, irgendwie wirst du dich sicher durchschlagen Danach kannst du dich auch an die großen Webframeworks trauen. Vielleicht lohnt sich vorher auch ein Blick auf Bottle oder Flask. Diese sind recht handlich und du kannst sehr schnell Ergebnisse erzielen. Um damit umzugehen reichen auch die Grundlagen aus dem vorherigen Absatz.
Die Arbeit mit Datenbanken kannst du im Prinzip zu jeder Zeit beginnen. Die Schnittstellen sind kinderleicht zu bedienen und mit SQL kannst du schon umgehen. Aber auch hier gibt es natürlich noch Frameworks, mit denen du dir das Leben einfacher machen kannst. Aber vielleicht alles zu seiner Zeit ^^
Bis dann,
Sebastian
Das Leben ist wie ein Tennisball.
-
- User
- Beiträge: 4
- Registriert: Sonntag 16. Januar 2011, 18:13
Hallo,
Danke nochmal. Ich mach mich dann mal ans Lesen und probieren.
Wenn ihr ein bißchen Geduld mit mir habt und ich Euch mit meiner Fragerei nicht allzusehr auf die Nerven gehe, wird das schon.
Tschau
Josef
Danke nochmal. Ich mach mich dann mal ans Lesen und probieren.
Wenn ihr ein bißchen Geduld mit mir habt und ich Euch mit meiner Fragerei nicht allzusehr auf die Nerven gehe, wird das schon.
Tschau
Josef
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Pygame setzt auf SDL auf; man nennt so was auch "Binding". Insofern wird das Rad nicht neu erfunden, sondern bereits bestehende Felgen mit einem schönen Mantel überzogenfunkheld hat geschrieben: Alle schnellen Grafiksachen(Pygame) habe eine Dll die in C oder C++ erstellt wurden.
Also das Rad wurde dann da wieder neu erfunden.
Kann man übrigens direkt auf der Webseite nachlesen: http://pygame.org/wiki/about
Eine sehr gute Vorgehensweise, da etabliertes weitergenutzt wird. Für selbiges gibt es zig weitere Beispiele, etwa das Python Binding für die Grafikengine Ogre3D uvm.
Vielleicht solltest Du doch mal ein wenig recherchieren oder nachdenken, bevor Du so lautstark etwas postulierst?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Ich würde Dir ebenfalls empfehlen, so viel wie möglich "per Hand" zu machen. Jedenfalls verwendet Boa Constructor wxPython. Damit habe ich auch begonnen. Warum? Keine Ahnung! Ich hatte damals Unmengen an Informationen über wxPython, PyGTK und PyQt gesammelt. Meinungen eingeholt. Als blutiger Anfänger das meiste sowieso noch nicht verstanden (vieles davon versteh' ich immer noch nicht) und mich deshalb mehr oder weniger "aus dem Bauch heraus" für wxPython entschieden. Das für mich vielleicht einzige Kopfargument war auch, dass es mit wxPython in Action ein schönes Tutorial vom wxPython-Entwickler Robert Dunn selbst gibt. Das hilft mir neben der wxPython-Dokumentation doch sehr.josefkoller hat geschrieben:... und bin dabei auf Bo Constructor gestoßen. Wär das was für mich (im Hinblick auf GUI) ...
Ach ja, und die wxPython-Demo sollte ich auch noch erwähnen. Eine Sammlung von verlässlichen kleinen Beispielen zu fast jedem wxWidget.
Aber egal, mit welchem GUI-Toolkit ich begonnen hätte: Für ein erstes Verstehen, wie OOP konkret ausschauen kann, finde ich das Befassen mit einem solchen Toolkit sehr gut geeignet.
Hier findest Du eine Übersicht über diverese GUI-Toolkits für Python.
Wie auch immer... Du wirst sehen, Python macht sau viel Spaß!!
Gruß
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
...um in Python genutzt werden zu können.funkheld hat geschrieben:Nicht das du Schnelligkeit erwartest, dann bist du falsch mit Python.
Alle schnellen Grafiksachen(Pygame) habe eine Dll die in C oder C++ erstellt wurden.
Nö. Und dir wurde ja bereits angedeutet, was ein Binding ist.funkheld hat geschrieben:Also das Rad wurde dann da wieder neu erfunden.
Kann Python problemlos. PyGTK, PyQt usw machen den meisten sogar mehr Spass als deren C bzw C++-Varianten.funkheld hat geschrieben:Du hast falsche Erwartungen von Python wenn du schon gleich beim zweiten Satz mit Gui...usw ankommst.
Fazit: "In einer Sprache nutzbar" ist nicht notwendigerweise mit "in einer Sprache (sinnvoll) implementierbar" gleichzusetzen. Ich würde nicht dazu raten, eine Bibliothek für höhere Mathematik in reinem Python zu programmieren (wobei PyPy ja offenbar beachtenswerte Fortschritte macht). Wohl aber könnte ein grafisches Tool, welches darauf aufsetzt und z.B. ein Binding nutzt, ohne Schwierigkeiten in Python geschrieben werden. Es könnte sich dann natürlich all die Vorteile wie leichte Lesbarkeit, leichte Wartbarkeit etc zunutze machen. Nicht selten ist der Programmierer einer Bibliothek ja ein anderer als derjenige, der die passende GUI gestaltet hat. Von daher ist der Gedanke auch keinesfalls abwegig.