Уведомления

Группа в Telegram: @pythonsu

#1 Март 23, 2022 10:28:44

vadim_matveev
Зарегистрирован: 2022-03-23
Сообщения: 14
Репутация: +  -1  -
Профиль   Отправить e-mail  

вопрос по format()

Подскажите пожалуйста почему 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))

Офлайн

#2 Март 23, 2022 10:31:03

vadim_matveev
Зарегистрирован: 2022-03-23
Сообщения: 14
Репутация: +  -1  -
Профиль   Отправить e-mail  

вопрос по format()

Но почему-то работает вот так:


name = ‘V’
fname = ‘M’

print('Your name is {} {}'.format(name,fname))

Офлайн

#3 Март 23, 2022 12:53:26

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

вопрос по format()

Прочитай вот эту информацию
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() не имеет.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version