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

Eric Smith eric+python-dev at trueblade.com
Fri May 30 21:23:12 CEST 2008


Guido van Rossum wrote:
> I'd be fine with adding '#' back to the formatting language for hex and oct.

And bin, I assume?

> 
> 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
>>
> 
> 
> 



More information about the Python-3000 mailing list