On 12/27/2011 04:48 PM, Fredrik Tolf wrote:
On Mon, 26 Dec 2011, K. Richard Pixley wrote:
I don't understand. Can anyone explain?

I'm also a bit confused about __new__. I'd very much appreciate it if
someone could explain the following aspects of it:

* The manual (<http://docs.python.org/reference/datamodel.html>) says
that __new__ is "a static method (special-cased so you need not declare
it as such)". What does "special-cased" mean? Apparently, for
instance, in OP's case, Python did not automatically detect that it
should not be bound as a method.

If you declare new in the regular way:

class Foo(object):
    def __new__(cls):
        ...

Python would create __new__ as a static method even without applying the staticmethod decorator; that python does not detect to special case __new__ when it is added dynamically is probably an oversight in Python 2.x that was fixed in Python 3.x.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to