Alex Martelli wrote: >> my hard-won ignorance, and admit that I don't see the >> problem with the property examples: >> >> > class Sic: >> > def getFoo(self): ... >> > def setFoo(self): ... >> > foo = property(getFoo, setFoo) > > Sorry for skipping the 2nd argument to setFoo, that was accidental in my > post. The problem here is: class Sic is "classic" ("legacy", > "old-style") so property won't really work for it (the setter will NOT > trigger when you assign to s.foo and s is an instance of Sic).
what's slightly confusing is that the getter works, at least until you attempt to use the setter: >>> class Sic: ... def getFoo(self): ... print "GET" ... return "FOO" ... def setFoo(self, value): ... print "SET", value ... foo = property(getFoo, setFoo) ... >>> sic = Sic() >>> print sic.foo GET FOO >>> sic.foo = 10 >>> print sic.foo 10 (a "setter isn't part of an new-style object hierarchy" exception would have been nice, I think...) </F> -- http://mail.python.org/mailman/listinfo/python-list