[Python-Dev] Object customization (was: Arbitrary attributes on funcs and methods)
Vladimir Marangozov
Vladimir.Marangozov@inrialpes.fr
Thu, 13 Apr 2000 20:10:33 +0200 (CEST)
Gordon McMillan wrote:
>
> I don't see anything here but an argument that allowing
> attributes on function objects makes them vaguely similar to
> instance objects. To the extent that I can agree with that, I fail
> to see any harm in it.
>
To the extent it encourages confusion, I think it sucks.
>>> def this():
... sucks = "no"
...
>>> this.sucks = "yes"
>>>
>>> print this.sucks
'yes'
Why on earth 'sucks' is not the object defined in the function's namespace?
Who made that deliberate decision? Clearly 'this' defines a new namespace,
so it'll be also legitimate to get a NameError, or to:
>>> print this.sucks
'no'
Don't you think?
And don't explain to me that this is because there's a code object,
different from the function object, which is compiled at the function's
definition, then assotiated with the function object, blah, blah, blah...
--
Vladimir MARANGOZOV | Vladimir.Marangozov@inrialpes.fr
http://sirac.inrialpes.fr/~marangoz | tel:(+33-4)76615277 fax:76615252