[Python-3000] PEP 3101 suggested corrections (original) (raw)

Jim Jewett jimjjewett at gmail.com
Sun Oct 28 18:27:57 CET 2007


On 10/26/07, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:

Jim Jewett wrote: > If it weren't for backwards compatibility, 'i' would be a much better > option,

No, it wouldn't, because 'integer' is a data type, not a display format. The Python format codes specify display formats, not data types.

I think that distinction is splitting hairs.

(1) Even to a programmer, there may not be much difference between

"%f" prints it as a float

and "%f" means to convert it to a float and print that

(If anything, the docs support the second definition.)

(2) To most people, all numbers are base-10, and using another base is just a silly affectation, like pig-latin.

Decimal doesn't mean "base 10", it means "has a decimal point", and contrasts with both fractions and integers.

Programmers have typically been exceptions, but I'm not sure how true that will remain in the future. Octal is already a wart that causes more bugs that it prevents. Hex is still useful. In another half-generation, I'm not so sure.

It is probably too early to drop support for %d as "Signed integer decimal" rather than "Decimal". But I believe the docs would already be improved by changing the definition table at http://docs.python.org/lib/typesseq-strings.html from

d	Signed integer decimal.	
i	Signed integer decimal.

to

d	Signed integer decimal.  Currently an alias for i.
i	Signed integer decimal.

-jJ



More information about the Python-3000 mailing list