Seite 1 von 1

wqs bedeutet "self" in python

Verfasst: Freitag 4. April 2008, 14:59
von sechsrad
was beutet das word "self" in python?

mfg

Verfasst: Freitag 4. April 2008, 15:03
von Masaru
... Alle Instanzprozeduren führen in ihrer Parameterliste als ersten den Verweis auf die Instanz selbst (self) und spechen innerhalb der Klassendefinition alle internen Datenobjekte und Prozeduren immer als self.<Objekt> an. Außerhalb der Klassendefinition, also beim Gebrauch der Instanzen, fällt das self weg, sowohl beim Aufruf der Prozeduren, wo es vom Interpreter implizit mit übergeben wird, als auch beim Zugriff auf Instanzvariablen. ...
Quelle: http://www.log-in-verlag.de/wwwredlogin ... 1/2/Thema/

Verfasst: Freitag 4. April 2008, 15:11
von Leonidas
Außerdem muss es gar nicht ``self`` heißen, das ist nur aus Konvention so.

Verfasst: Freitag 4. April 2008, 15:17
von dennda
Leonidas hat geschrieben:Außerdem muss es gar nicht ``self`` heißen, das ist nur aus Konvention so.
Bring ihn nicht auf dumme Gedanken! :)

Verfasst: Freitag 4. April 2008, 15:19
von Leonidas
dennda hat geschrieben:Bring ihn nicht auf dumme Gedanken! :)
Damit wollte ich eigentlich nur ausdrücken, dass der Name selbst keine spezielle Bedeutung hat, wie das in einigen anderen Sprachen ist.

Verfasst: Freitag 4. April 2008, 19:07
von lunar
dennda hat geschrieben:
Leonidas hat geschrieben:Außerdem muss es gar nicht ``self`` heißen, das ist nur aus Konvention so.
Bring ihn nicht auf dumme Gedanken! :)

Code: Alles auswählen

class foo(object):
     def do_something(yeah_it_is_really_me, another_arg):
           # code ...
Irgendwie fand ich "self" schon immer langweilig... müsste mal sed über meine Quellen laufen lassen ;)

Verfasst: Samstag 5. April 2008, 14:02
von Y0Gi
Ich habe jedenfalls noch keinen Python-Code gesehen, der stattdessen `this` verwendet; toi, toi, toi *klopft auf Holz*.

Verfasst: Samstag 5. April 2008, 14:35
von Leonidas
Bei Metaklassen benutzt man oft (eher och: immer) statt ``self`` dann ``cls``.

Verfasst: Samstag 5. April 2008, 19:44
von sma
Leonidas hat geschrieben:Außerdem muss es gar nicht ``self`` heißen, das ist nur aus Konvention so.
<klugscheiß>Der Name stammt meines Wissen (wie so vieles) von Smalltalk. Jedenfalls habe ich's zuerst bei Smalltalk-76 gesehen. Simula-67 hat "this" benutzt, was dann wohl später von C-with-Classes aufgegriffen wurde.</kugscheiß>

Stefan