Я изучаю Python и не понимаю что-то о «новом стиле» форматирования. Вот мой код:
>>> d={'n':32,'f':5.03,'s':'test string'}
>>> '{0[n]} {0[f]} {0[s]} {1}'.format(d, 'other')
'32 5.03 test string other'
но когда я набираю в консоли:
>>> d[n]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined
>>> d['n']
32
Так почему в отформатированной строке 0 [n] без кавычек смог прочитать из словаря значение с ключом 'n' (в данном случае ключ является строкой), но когда я попробовал это в консоль, это не сработало.
Кроме того, что произойдет, если ключ не является строкой?
Спасибо