Christian Heimes added the comment:

> I don't understand why 1.j is 1j .. because there's no int.j .. why then
> 1.L is not 1L ?

Complex numbers from the number domain |C which supersets |R. Complex
numbers are usually implemented and viewed as 2d vectors made from two
floating numbers real and img.

A long or long int however is from number domain |Z which doesn't allow
fraction and hence no '.', too.

It should explain why 1.L is illegal but 1.j is 1.0 * 1j.

> .. however, fixing this is not necessary - because no one would
> probably use it, it's just a syntax inconsistency

I don't if it's possible to fix the problem with Python's parser.
However the inconsistency should be documented. Is it explained in the
docs and do the docs also mention the (1).__attr__ trick? I wasn't aware
that it works.

Christian

__________________________________
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1413>
__________________________________
_______________________________________________
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to