[Python-3000] PEP 3101 str.format() equivalent of '%#o/x/X'? (original) (raw)

Guido van Rossum guido at python.org
Fri May 30 21:09:25 CEST 2008


I'd be fine with adding '#' back to the formatting language for hex and oct.

On Thu, May 29, 2008 at 5:45 PM, Eric Smith <eric+python-dev at trueblade.com> wrote:

wesley chun wrote:

On 5/29/08, Eric Smith <eric+python-dev at trueblade.com> wrote:

Marcin 'Qrczak' Kowalczyk wrote:

Except that it works incorrectly for negative numbers. wow, that is a great point. i didn't think of this either. it makes it very inconvenient (see below) and makes it more difficult to say we've completed replaced the '%' operator. I can't really think of any other way that doesn't involve converting the number to a string and then operating on that, just to get the sign. here's one way of doing it without converting to a string first (it's ugly too): i = -45 '{0}0x{1:x}'.format('-' if i < 0 else '', abs(i)) '-0x2d' Agreed, ick! thx for putting it (back) in, I didn't say I would, I said I would if a decision was reached :) I'd like to see some more consensus, and I hope that Talin (the PEP author) chimes in. Eric.


Python-3000 mailing list Python-3000 at python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/guido%40python.org

-- --Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-3000 mailing list