[Python-Dev] Fwd: deep question re dict as formatting input

Terry Reedy tjreedy at udel.edu
Wed Feb 23 01:55:18 CET 2011


On 2/22/2011 6:32 PM, Senthil Kumaran wrote:
>> On Tue, Feb 22, 2011 at 6:01 PM, Steve Holden<steve at holdenweb.com>  wrote:
>>> ... It would appear from tests
>>> that "{0[X]}".format(...) first tries to convert the string "X" to in
>>> integer. If it succeeds then __getitem__() is called with the integer as an
>>> argument, otherwise it is called with the string itself as an argument. Is
>>> this correct?
>>
>> This is addressed in the PEP 3101:
>> """
>>     The rules for parsing an item key are very simple.
>>     If it starts with a digit, then it is treated as a number, otherwise
>>     it is used as a string.
>> """ http://www.python.org/dev/peps/pep-3101/
>
> To the other question :
>
>> Furthermore, how does one access the key '1' in a format statement?
>> ~Ethan~
>
> I think, parsing rule already helps to understand the problem with the
> key like '1'.
> The PEP also explicitly states that:
>
> """
> Because keys are not quote-delimited, it is not possible to
>      specify arbitrary dictionary keys (e.g., the strings "10" or
>      ":-]") from within a format string.
> """

Is this all specific in the lib docs? If not, it should be.


-- 
Terry Jan Reedy



More information about the Python-Dev mailing list