Найти - Пользователи
Полная версия: вопрос по format()
Начало » Python для новичков » вопрос по format()
1
vadim_matveev
Подскажите пожалуйста почему 3-я строка print выдаёт ошибку KeyError? что не так с переменной name?

name = ‘V’
fname = ‘M’

print('Your name is {:s} {:s}'.format(name,fname))
print('Your name is {name}'.format(name = ‘V’))
print('Your name is {name}'.format(name))
vadim_matveev
Но почему-то работает вот так:


name = ‘V’
fname = ‘M’

print('Your name is {} {}'.format(name,fname))
py.user.next
Прочитай вот эту информацию
https://docs.python.org/3/library/stdtypes.html#str.format
https://docs.python.org/3/library/string.html#formatstrings
https://docs.python.org/3/library/string.html#format-examples

Зачем наугад пытаться понять метод, если есть документация?
Поля внутри строки имеют свой синтаксис, не зависящий от того, что передаётся в метод .format(). Поэтому name из строки никакого отношения к name на месте аргумента для .format() не имеет.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB