Python - Generelle Verwirrungen

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.
yashi
User
Beiträge: 12
Registriert: Donnerstag 18. Februar 2010, 20:23

@...
kein problem
dive into python scheint auch noch sehr gut zusein...habe ich aber noch nicht reingeschaut

Dann frag doch mal deine Kommilitonen, was die von deinem Vorschlag halten
naja bei uns hats in informatik einsen gehagelt, trotzdessen das wir gut stoff durchgezogen haben war kein zuckerschlecken, insofern war da glaube ich keiner groß von abgeneigt :)
zumal das dem späteren roboter praktikum zugute kam...da hieß es dann assembler niveau :P das war dann nicht mehr der totale sprung ins kalte wasser
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

... hat geschrieben:Ja, ich schaue mir gerade auch das "Buch" an.
Was hat das Werk Emmanuel Goldsteins mit Python zu tun?

verstehen nur 1984-Leser...
...
User
Beiträge: 116
Registriert: Mittwoch 23. Dezember 2009, 20:22

Naja - ein PDF-Dokument von ~120 Seiten ist kein Buch...
Das ist ein PDF-Dokument oder von mir aus ein E-Heft... (Im Englischen wie E-Buch (E-Book) auch E-Book :S)

Außerdem spielt wenn ich mich erinnere Orwell in 1984 auf Goldstein an... und wie man weiß ist 7 Jahre später Python erschienen...
Das ist doch ganz eindeutig!
yashi
User
Beiträge: 12
Registriert: Donnerstag 18. Februar 2010, 20:23

derdon hat geschrieben:
... hat geschrieben:Ja, ich schaue mir gerade auch das "Buch" an.
Was hat das Werk Emmanuel Goldsteins mit Python zu tun?

verstehen nur 1984-Leser...
und leute die hackers gesehen haben und daraufhin google bemühten :P
...
User
Beiträge: 116
Registriert: Mittwoch 23. Dezember 2009, 20:22

yashi hat geschrieben:
derdon hat geschrieben:
... hat geschrieben:Ja, ich schaue mir gerade auch das "Buch" an.
Was hat das Werk Emmanuel Goldsteins mit Python zu tun?

verstehen nur 1984-Leser...
und leute die hackers gesehen haben und daraufhin google bemühten :P
Warum?
Wird in hackers erklärt wie man google verwendet?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

orossum hat geschrieben:Das erste was mir aufgefallen ist waren die kryptischen Fehlermeldungen. Wieso muss man sich bei Python bei jedem kleinen Syntaxfehler durch 5 Zeilen rote Schrift durchackern bis man endlich Fehlername und Zeilennummer hat?
Der Text ist erstens farblos, und zweitens ist das ein Traceback. Und der ist immens hilfreich, wenn man versucht herauszufinden wo der Fehler genau liegt. Und für den der nur die letzte Zeile sucht: sie ist ganz unten. Da ich meist in der Konsole arbeite, muss ich auch nicht scrollen, weil sie als letztes erscheint und daher sofort sichtbar ist.
orossum hat geschrieben:Was ist das für ein Wahnsinn mit Floating-Point-Berechnungen?
IEE 754, wie in so ziemlich jeder anderen Programmiersprache auch.
orossum hat geschrieben:Da Guido van Rossum, der von vielen Python-Nutzern als eine art Gott angesehen wird (wie man hier sicher weiß), ja bekanntlich Python "geschaffen" hat, ist er wohl auch derjenige, der sich mit dem Gültigkeitsbereich von Variablen ausernandergesetzt hat.

Nun, das System ansich ist meiner Meinung nach schon vollkommend fehlkonzipiert. (Variablen können von innerhalb von Funktionen ausgelesen aber nicht verändert werden, global, etc)
Das Scoping in Python ist nicht optimal (da hat Scheme einen etwas durchdachteren Ansatz), da stimme ich dir zu. Aber wenn du von Funktionen einfach irgendwelche Werte verändert, dann sehe ich sowas als schlechten Code mit Seiteneffekten an und vermeide sowas. Das führt zu schlecht nachvollziehbaren Code und sollte vermieden werden.
orossum hat geschrieben:Schon bei einer einfachen animation mit tkinter kommt man in Python nicht um Schmutzigen Code, global Statements und wiederholten Code herum.
Ich würde dich bitten ein Codebeispiel zu posten. Denn man kann hässlichen Code schreiben, aber man kann es auch lassen und guten Code schreiben. Vielleicht kann man ja dein schlechtes Beispiel zu einem guten umschreiben so dass du siehst dass man auch brauchbaren Code schreiben kann.
orossum hat geschrieben:Dann, als ich versucht habe innerhalb einer Funktion, welche wiederum von einer anderen Funktion aufgerufen wird, auf außerhalb definierte Variablen zuzugreifen, bin ich dann nach langem überlegen draufgekommen, dass ich aus irgendeinen unerfindlichen Grund nun alle Variablen mit global angeben muss um sie aufzurufen, warum auch immer.
Auch hier bitte: Beispielcode.
orossum hat geschrieben:Nun meine Frage: War das ganze ein schlechter Scherz von Guido?
Nein. Guido hat zwar viele Fehler gemacht, aber dennoch muss ich sagen dass die Sprache doch durchaus gelungen und brauchbar ist.
yashi hat geschrieben:ich beschäftige mich jetzt seit knapp 5h mit python und ich muss sagen, ich finde es richtig dass sowas nicht an unis unterrichtet wird... vom programmierer wird einfach zu wenig gefordert...das fängt schon im bei den variablen an...
Das hängt ab von welcher Seite du an die Programmierung rangehst. Wenn du Programmierung als Bitflipping ansiehst ja. Wenn du Programmierung als Algorithmen und Abstraktionen ansiehst, nein.
yashi hat geschrieben:Ich habe im studium mit C angefangen und was man da alles ggü. python beachten muss O.O holla ^^ und mir kam es vorher nie schlimm vor...aber man lernt dadurch halt was wirklich(mehr oder weniger) abgeht..
Würde ich nicht unbedingt sagen. Ich sehe ab und zu wie meine Kommilitonen keine Ahnung haben was ihr C-Code eigentlich macht. Und das obwohl sie vorher x86-Assembler gelernt haben. Zudem einem diese Low-Level-Sicht auch den Ausblick auf das ganze Verbergen kann. Wenn du von C kommst, wirst du wohl kaum die Eleganz funktionaler Sprachen verstehen und warum man damit trotzdem zum Ziel kommt.
yashi hat geschrieben:ansich gefällt mir die sprache aber ganz gut...soviel wie man in 5h davon sehen kann :P
was mir allerdings sauer aufstößt sind diese tabulatoren .... das geht imo garnicht das einrückungen einfluss auf den code haben :X
Erstens sind es spaces und zweitens: warum nicht. Ich rücke meinen Code immer ein, selbst wenn er andere Delimiter als die Einrückung hat. Dieses }}}}} oder ))))) oder end end end end end ist ja nicht sonderlich hübsch oder gar übersichtlich. Vielleicht solltest du dich damit etwas länger als 5h beschäftigen.
yashi hat geschrieben:was passiert wenn ich merke das ich um mein komplettes projekt noch eine schleife setzen muss? muss ich dann 100zeilen einrücken? xD
klar dem guten programmieren passiert sowas natürlich nicht :P
Hast schon recht, ich glaub ich habe kaum Funktionen die länger als 100 Zeilen sind. Normalerweise modularisiert man ja viel stärker.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
...
User
Beiträge: 116
Registriert: Mittwoch 23. Dezember 2009, 20:22

Leonidas hat geschrieben:
yashi hat geschrieben:was passiert wenn ich merke das ich um mein komplettes projekt noch eine schleife setzen muss? muss ich dann 100zeilen einrücken? xD
klar dem guten programmieren passiert sowas natürlich nicht :P
Hast schon recht, ich glaub ich habe kaum Funktionen die länger als 100 Zeilen sind. Normalerweise modularisiert man ja viel stärker.
Nun den...

Dann halt ettliche Funktionen in einer Klasse zusammenwollen - oder etwas ähnliches... Kommt schon manchmal vor, das man nachträglich noch Zeilen einrücken muss...
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo.

Wenn dein Editor keine Einrückung von mehreren Zeilen gleichzeitig unterstützt, dann hast du eindeutig den falschen gewählt. Wenn du bei Klammernden sprachen hingegen keine Einrückung anpasst, dann ist das Problem noch viel größer ;-)

Sebastian
Das Leben ist wie ein Tennisball.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

... hat geschrieben:Dann halt ettliche Funktionen in einer Klasse zusammenwollen - oder etwas ähnliches... Kommt schon manchmal vor, das man nachträglich noch Zeilen einrücken muss...
Also in Vim ist das ziemlich trivial, weil dort rückt man dann einfach nen ganzen Block code um eine Stufe ein. In Python ist das sogar einfacher weil man dann kein weiteres paar geschwungene Klammern braucht. Insofern Spricht dieses Argument eher für Python, als dagegen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
...
User
Beiträge: 116
Registriert: Mittwoch 23. Dezember 2009, 20:22

Nicht nur in Vim ist das kein Problem - auch Emacs und die ganzen Pythoneditoren wie Spyder und co kommen ganz gut damit klar...

Aber wer halt mit dem Microsofteditor arbeitet, wird wohl lieber einen Hässlichen C++-Code ohne Einrückung haben, als einen schönen Python-Code...
Nusminoira
User
Beiträge: 4
Registriert: Mittwoch 17. Februar 2010, 18:46

Leonidas hat geschrieben: Der Text ist erstens farblos,
Also, bei mir ist er auch immer rot. Aber das ist vielleicht auch besser so, farblose Schrift auf weißen Hintergrund würde ich ja nicht mal sehen können... :-o
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Nusminoira hat geschrieben:Also, bei mir ist er auch immer rot. Aber das ist vielleicht auch besser so, farblose Schrift auf weißen Hintergrund würde ich ja nicht mal sehen können... :-o

Code: Alles auswählen

$ python -c '1/0'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
Wo ist da was rot? Rot stellt nur eine IDE die Ausgaben auf Stderr da, aber das ist keine generelle eigenschaft des Python-Interpreters. Der gibt keine Escape-Sequenzen aus, die die Schriftfarbe der Konsole ändern würden. Also ist der Text an sich farblos, die Schrift hat die Farbe die konfiguriert wurde.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Hyperion hat geschrieben:
... hat geschrieben: Ich muss sagen - PHP hat schon den einen oder anderen Vorteil gegenüber Python... lass mich überlegen:
Die Dokumentation auf PHP.net ist deutlich verständlicher/ausführlicher als die von docs.python.org
Zum einen ist das eine rein persönliche Aussage [...]
Das ist es, aber ich schließe mich da durchaus an. Die PHP-Dokumentation ist detaillierter, liefert fast immer gute Beispiele für die Verwendung des Statements und fühlt sich für mich einfach besser an. Bei meinem Umstieg von PHP auf Python hatte ich durchaus damit zu kämpfen, dass man nicht mehr so gut an die Hand genommen wurde.

PHP als Sprache ist allerdings grausam.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

EyDu hat geschrieben:Wenn dein Editor keine Einrückung von mehreren Zeilen gleichzeitig unterstützt,
Sogar IDLE kann das ... :D
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Sogar Gedit kann das.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo orossum
orossum hat geschrieben:Da schreibe ich lieber doppelt so lange an einem C++ Programm, das dann am Ende nicht wie irgentein Brei aussieht.
Ich glaube dir nicht, dass du fähig bist ein C++ Programm zu schreiben. Oder hat dich C++ so durcheinander gebracht, dass du nicht mehr auf eine ander Sprache eingehen kannst? Chinesisch wäre noch eine interessante Sprache für dich. Diese Sprache wird sich in der Zukunft noch mehr durchsetzen und ist leicht erlernbar.

Gruss wuf :wink:
Take it easy Mates!
Nusminoira
User
Beiträge: 4
Registriert: Mittwoch 17. Februar 2010, 18:46

Leonidas hat geschrieben:Also ist der Text an sich farblos, die Schrift hat die Farbe die konfiguriert wurde.
Ich nehme an, daß Dir nicht bewußt ist, daß an dieser Bemerkung ein großes Teil des Problems im Gespräch dieses Forums abzulesen ist. Denn der Text, den man sieht, ist definitiv nicht farblos - wäre er "farblos" im engeren Sinne, könnte man ihn schließlich gerade nicht sehen.

Was Du ansprichst, ist in den Höhen des Elfenbeinturms guter Python-Kenntnisse sicher auch richtig; zumindest unterstelle ich das mal, da ich annehme, daß Du Dich in der Tat mit diesen Dingen gut auskennst. Aber von der Höhe des Elfenbeinturms aus ist zu oft der Blick für das verlorengegangen, was man unten in den Straßen auf Bodenniveau wahrnimmt oder auch nicht wahrnimmt. Von oben, hoch über allen andern Dächern, sind Wege leicht auszumachen. Aber unten sieht man, daß manche Wege wegen Baustellen oder ähnlicher Hindernisse nicht passierbar sind; andererseits kann man sich auch ganz schlicht und einfach verirren. Von oben ist diese Gefahr gar nicht erkennbar... aber die Behauptung, sie sei (weil ja nicht zu sehen) gar nicht existent, geht ein wenig an dem vorbei, was der Fall ist.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

@Nusminoira Der Text enthält keinerlei Farbinformationen und ist somit farblos. Wie der dargestellt und ob er überhaupt dargestellt wird ist Sache der Shell.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Nusminoira hat geschrieben:Was Du ansprichst, ist in den Höhen des Elfenbeinturms guter Python-Kenntnisse sicher auch richtig;
Das hat mit Pythonkenntnissen jetzt eher wenig zu tun, sondern mit dem Verständnis der Software die man nutzt.

Letztendlich ist es ja nicht so wichtig, ich wollte nur hinweisen dass Python eben keinen roten Text ausgibt. Man sollte aufpassen dass man Python nicht mit seiner IDE oder Editor verwechselt wie das einige tun - die haben dann öfters mal Probleme zwischen den Schwierigkeiten ihrer Software und denen von Python zu unterscheiden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Nusminoira
User
Beiträge: 4
Registriert: Mittwoch 17. Februar 2010, 18:46

Leonidas hat geschrieben: Das hat mit Pythonkenntnissen jetzt eher wenig zu tun, sondern mit dem Verständnis der Software die man nutzt.
Ich vermute, daß Du da schon recht haben wirst. Aber Du siehst wiederum überhaupt nicht, daß es neben dem von Dir thematisierten Problem noch eines gibt, und das hat mit den Kenntnissen eher mehr zu tun: daß nämlich der Eifer beim Erwerb der Kenntnisse auch zu einem Verlust von Kenntnissen führen kann, genauer: der Kenntnisse, wie eine Situation sich für Außenseiter darstellt. Das kann mit einem Erweb von Kenntnissen in C++ oder PHP oder technischer Informatik genauso passieren wie mit dem in Python. Und es ist dann ganz im Sinne von
... hat geschrieben:Mh... welch ein Eifer von einem Eiferer hier...
durchaus unterhaltsam zu beobachten, wie der Topf den Kessel schwarz schilt und der mit einem beleidigten "Selber!" antwortet.

Das einzige, was daran wirklich schade ist, ist, daß es auf die, die noch Außenseiter sind und gerne etwas mehr wissen würden, so abschreckend wirkt.
zenker hat geschrieben:Ok, wenn mir nach 'ner Runde auspeitschen zumute ist, mach ich das! ;-)
Das sind für "Neulinge" die Bedingungen hier, außer wenn Gerold antwortet! Und cofis lockere Replik
cofi hat geschrieben: Dein Code wird leiden, nicht du

beruht auf einer so nicht sinnvoll zu treffenden Unterscheidung. Der Spaß beim "Code foltern" verstellt dabei den Blick dafür, daß hinter den Beiträgen - auch in einem Python-Forum! - ein Mensch steht, der leiden kann und der leidet, wenn man seine Arbeit (für ihn noch schwer, schließlich lernt er noch) mit einem "Was ist denn das für ein Mist?" abtut. Ja, sicher, Ihr würdet es anders machen - denn Ihr habt fundierte und umfassende Kenntnisse und Erfahrungen. Das ist am Anfang eines Lernprozesses aber dummerweise wirklich nur sehr selten der Fall, ich wäre fast geneigt, zu vermuten: eigentlich nie.

Mir ist bewußt, daß es nicht Eure Aufgabe sein muß, Anfängern Dinge vorzukauen, vor allem wenn sie faul oder einfach nur dumm zu sein scheinen. Ich kann das bis zu einem gewissen Grad auch gut nachvollziehen. Aber von außen gesehen, ist es schade: Durch die Wahl des Namens "python-forum.de" ist ziemlich ausgeschlossen, daß ein Forum für Anfänger daneben noch einen Platz finden könnte. Aber hier machen Anfänger ganz zu Anfang die Erfahrung, daß für sie kein Verständnis mehr existiert, weil das Forum Wert auf ein "Experten-Niveau" legt, das für alle außer Programmieraffine und Softwaregenies am Beginn des Pythonlernens nicht zu erreichen ist, bevor man aus Mangel an Erfolg lieber einfach etwas anderes tut. Dabei hätte vielleicht der eine oder andere von denen auf Dauer doch ganz gute Ideen mit einbringen können - aber gut, das ist Kaffeesatzleserei, und ich nehme auch an, Ihr braucht nicht noch mehr Kommunikationspartner, als das Forum Euch jetzt schon zur Verfügung stellt.
Antworten