On Fri, Apr 5, 2013 at 1:59 AM, Guido van Rossum <[email protected]> wrote:
On Thu, Apr 4, 2013 at 7:47 AM, Chris Angelico <[email protected]> wrote:
Is there any argument that I can pass to Foo() to get back a Bar()?
Would anyone expect there to be one? Sure, I could override __new__ to
do stupid things, but in terms of logical expectations, I'd expect
that Foo(x) will return a Foo object, not a Bar object. Why should int
be any different? What have I missed here?
A class can define a __new__ method that returns a different object. E.g.
(python 3):
Right, I'm aware it's possible. But who would expect it of a class?