[Python-de] Funktion
Stephan Diehl
stephan.diehl at gmx.net
Mit Jul 9 17:54:13 EDT 2003
Hi Jan,
vermutlich ist deine Funktion etwas aus dem Zusammenhang gerissen und sollte
innerhalb einer klassen definition stehen, also:
class MyClass:
def __str__(self):
return self.id
Ansonsten hast du einfach eine Funktion mit Namen "__str__", die ein argument
"self" erwartet. und einfach "self.id" zurückgibt (falls ein Attribut "id"
existiert.
Wenn "__str__" allerdings die Methode einer Klasse ist, hat sie eine besondere
Bedeutung:
"__str__" liefert die String Representation einer Instanz, d.h. wird
aufgerufen, wenn die buildin Funktion "str" verwendet wird.
z.B.
>>> class person:
... def __init__(self,name):
... self.name = name
... def __str__(self):
... return self.name
...
>>> jan = person('jan')
>>> jan.__str__()
'jan'
>>> str(jan)
'jan'
>>>"%s" % jan
'jan'
>>>
Am besten besorgst du dir mal ein Buch über Python oder liest eines der vielen
vorhandenen Tutorials (wie immer, ist www.python.org ein guter Startpunkt)
Stephan
On Mittwoch, 9. Juli 2003 16:15, Reinmueller, Jan wrote:
> Hi Liste, ich frage mich was folgende Funktion macht:
>
> def __str__(self):
> return self.id
>
> Wird hier die ID der Instanz zurück gegeben? Für was steht den __str__ ?
>
> THX
>
> _______________________________________________
> Python-de maillist - Python-de at python.net
> http://python.net/mailman/listinfo/python-de