Any syntactic cleanup likely for Py3? And what about doc standards?
Steven D'Aprano
steve at REMOVE-THIS-cybersource.com.au
Thu Sep 6 02:25:54 EDT 2007
On Thu, 06 Sep 2007 03:31:43 +0000, Alan Isaac wrote:
>> Their only flaw is that they are not
>> "virtual" (in C++ speak). In other words, you can't pass a "self"
>> parameter to them.
>
> http://www.kylev.com/2004/10/13/fun-with-python-properties/
I'm not 100% sure I get what problem that piece of code is supposed to
solve, but if I have understood it, the obvious solution is to use
inheritance, not nasty tricks with lambdas.
class Base(object):
_foo = None
def getFoo(self):
return self._foo
def setFoo(self, val):
self._foo = val
foo = property(getFoo, setFoo)
class Derived(Base): # like Base, but the default for foo is 0 not None
_foo = 0
(Naturally the above is a toy example -- for something as simple as that,
there is no benefit in using properties.)
The blogger who wrote it says "I was pretty impressed with myself for
figuring this out. So I’m putting it on my site to pat myself on the
back." Hmmm. Unless I've missed something, the solution on the web-page
falls squarely in the too-clever-by-half bucket and nothing to be self-
congratulatory about.
--
Steven.
More information about the Python-list
mailing list