[Python-de] property-Funktion mal nicht in Klassen verwenden
Felix Schwarz
felix.schwarz at web.de
Di Apr 8 10:28:34 UTC 2008
Hi,
die meisten kennen wohl die property-Funktion aus Python, mit
der man folgenden Code schreiben kann:
# -----------------------------------------------------------
class Foo(object):
@property
def bar(self):
return 1
foo = Foo()
foo.bar
# -----------------------------------------------------------
Ich habe mir jetzt die Frage gestellt, ob auch soetwas möglich
wäre:
# -----------------------------------------------------------
def bar2(self):
return 42
bar = property(bar2)
bar
# -----------------------------------------------------------
Da ich hier frage, funktioniert der zweite Code natürlich nicht,
es wird nur ein property-Objekt zurückgegeben. Gibt es da einen
kleinen Trick, um das zweite Szenario (Methodenaufruf über Auslesen
einer Variable) zu ermöglichen?
Vielen Dank,
fs