[Python-Dev] Int literals and method calls
Simon Percivall
s.percivall at chello.se
Mon Nov 15 13:31:44 CET 2004
On 2004-11-15, at 10.54, Gerrit wrote:
>
> It works for complex numbers:
>
>>>> 1j.imag
> 1.0
>
> ...in a rather surprising way:
>
>>>> 3+4j.real
> 3.0
>>>> f() + 5j.real
> 42.0
>
> I would have expected it to be 0.0, because I would have expected the
> '.' to have precedence over the '+', but it hasn't. apparantly.
>
> [...]
>
> I would call it inconsistent:
>
> 3+4j.real means (3+4j).real
> 3+4j.__class__ means 4+(4j).__class__
No, it means 3 + (4j.real) which is the same as 3 + 0.0. Both equals
3.0.
//Simon
More information about the Python-Dev
mailing list