[Python-ideas] Different bases format specification
ncoghlan at gmail.com
Sat Dec 3 05:31:51 CET 2011
On Sat, Dec 3, 2011 at 1:16 PM, T.B. <bauertomer at gmail.com> wrote:
> For weird math scenarios I know there are already many modules and packages.
> But what about ternary? en.wikipedia.org/wiki/Ternary_numeral_system has
> some points that include that base 9 and 27 are used [no citation].
Weird math scenarios are no justification for changing the behaviour
of a builtin type. b/o/d/x/X cover all the common use cases,
everything else can be handled by libraries (including providing
custom string.Formatter subclasses).
Code and functionality are not free - we need solid gains in easier
(or otherwise improved) coding and maintenance for real world problems
before we add more of either.
>> 2. The explicit 'b', 'o' and 'x' codes are related to integer literal
>> notation (0b10, 0o777, 0x1F), not to the second argument to int()
> That one reason I wrote: "It might be a nice mnemonic using 'b' instead,
> standing for 'base'. Then the default base will be 2."
And the symmetry with the integer literal codes will still be lost.
> Anyway, I think there should be 'B' and 'O' presentation types, that
> will be used for outputting '0B' and '0O' prefixes.
If you really want that (Why would you?) and so long as the numbers
The only reason 'X' is provided for hexadecimal formatting is to
capitalize the letters that appear within the number itself.
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Python-ideas