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.
ich komme mit der hilfe gar nicht klar und finde auch sonst keine quelle wo man mal eben die richtige benutzung finden kann. habe dies aus einem tutorial nachgebastelt und nun rätsel ich seit gestern abend warum es nicht geht.
das kann auch nicht gehen. Durch die Definition der Methoden alter, geschlecht und zustand überschreibst Du die Attribute gleichen Namens. Danach weist Du dem Objekt hans wieder die Attribute alter, geschlecht und zustand zu und überschreibst Dadurch die Metoden gleichen Namens.
wenn ich jetzt noch jeder methode ein (self) anhänge, klappt es. allerdings finde ich das sehr schäbig, dass die namen nicht gleich sein dürfen, denn es handelt sich ja um je zwei grundverschiedene dinge. ansonsten ist python aber echt nett von der syntax her.
Anonymous hat geschrieben:allerdings finde ich das sehr schäbig, dass die namen nicht gleich sein dürfen, denn es handelt sich ja um je zwei grundverschiedene dinge
Na ja. Eben. Deswegen ist es ja eigentlich auch eine schlechte Idee beide gleich zu benennen. Du könntest bspw. Member-Variablen mit einem vorangestellten m_ benennen (wenn sie private sein sollen sogar __m_). Und Funktionen etwas aussagekräftiger benennen. Aus alter würde dann __m_alter und aus alter() dann set_alter() und get_alter(). Dann weiss man sofort was gemeint ist.
Anonymous hat geschrieben:wenn ich jetzt noch jeder methode ein (self) anhänge, klappt es. allerdings finde ich das sehr schäbig, dass die namen nicht gleich sein dürfen, denn es handelt sich ja um je zwei grundverschiedene dinge. ansonsten ist python aber echt nett von der syntax her.
sowohl Attribute als auch Methoden sind Objekte, und daher eben nicht grundverschieden!
Christophy_ohne_login hat geschrieben:...raw_input() ist das was Du suchst...
Hi Vielleicht mal etwas klarer: input()==eval(raw_input()) . Soll heißen, mit raw_input werden generell nur Strings eingelesen. Mit input dagegen wird das Ergebniss immer softort ausgewertet, was zu Fehlern führen kann (iwe oben wenn du dann halt nicht "y" statt y eingibst) und andererseits eine große Sicherheitslücke ist (wenn man z.B. bei input sys.exit() eingibt, sofern sys importiert ist, oder ähnliches)
kann es sein, dass es keine vernünftige python referenz gibt ? ich musste den ganzen tag vergeblich suchen und mich schließlich bis ende kapitel 7 eines tutorials durchlesen, um soeben den befehl string.atoi() zu finden. hinzu kommt, dass der name mir nix sagt. ich kann mir sachen besser merken, dessen bedeutung ich kenne, zb val(str) - value von string, str(val) - string von value.... unter atoi kann ich mir nix vorstellen
bitte,bitte, WO ist die gut sortierte referenz ? der salat bei F1/library-reference kanns ja wohl nicht sein! das ist ein albtraum!
also das mit pydoc klappt nicht, oder ich mache es falsch (pydoc string).. und die referenz-url von dir, ist die schlechte die ich meine. schade eigentlich, dabei hat python wirklich sachen die mir gefallen.
Hi. Stopp, stopp, stopp... es gibt genügend Material zu Python im Internet. Für Einsteiger empfiehlt sich wohl zuallererst das Tutorium. Und als nächsten Schritt kannst du frei von der Dokuliste hier auswählen, die auf python.org frei rumsteht...
Außerdem ist dies keine schlechte Referenz, denn hier wird alles notwendige kurz vorgestellt (halt nur auf englisch, statt auf deutsch wie oben).
Zuletzt geändert von Milan am Montag 3. Mai 2004, 21:00, insgesamt 1-mal geändert.
Eine gute Sache ist auch pyshelf mit Volltextsuche. Die build-in Funktionen sind Pflicht und immer zuerst zu durchsuchen. Die normale Dokumentation dürfte da gute Dienste liefern.
Für spezielle Probleme kann man auch mal im Kochbuch nachschlagen
Zuletzt geändert von Christopy am Montag 3. Mai 2004, 21:00, insgesamt 1-mal geändert.
beim tutorial bin ich bei kapitel 8 (ist übrigens sehr gut!) und die anderen deutschen habe ich auch durch oder zumindest überflogen und ein englisches auch mal angelesen. geht mir eher um eine fehlende ordentliche befehlsreferenz. die ist einfach schlecht strukturiert.
Anonymous hat geschrieben:geht mir eher um eine fehlende ordentliche befehlsreferenz
Hi. Wenn ich das richtig verstehe, meinst du die eingebauten Befehle? Denn die statements sind ja im Tutorium behandelt. Dann wirst du nicht darum kommen, dir mal einige Module aus dem Modul Index bei den Python Docs anzuschauen, hier wiederum zuallererst die __builtins__ (wichtige weitere Module sind dann ja noch os,sys,re und time, dann bist du schon gut bedient und kannst einen Großteil von Python). Allerdings sollten davon auch einige im Tut erwähnt sein und in den Rest sollte man sich nach und nach einarbeiten
Anonymous hat geschrieben:wenn ich jetzt noch jeder methode ein (self) anhänge, klappt es. allerdings finde ich das sehr schäbig, dass die namen nicht gleich sein dürfen, denn es handelt sich ja um je zwei grundverschiedene dinge. ansonsten ist python aber echt nett von der syntax her.
Na na na,
schäbig ist es die Methoden einfach so zu benennen, wie Du es getan hast. Aus einem guten Methodenname geht auch n bissl hervor, was die Methode macht.
z.B. getAlter(self), getAlter(self, neuesalter), printAlter(self)
Bei meinem Python unter Windows war eine CHM-Hilfe-Datei dabei, die sehr gut zum Recherchieren geeignet ist. Bei http://pydoc.org/ kann man sehr gut online die Dokumentaion durchsuchen. Und bei der Python Quick Reference gibt's jede Menge Nachschlagematerial auf einer Seite.