TypeError при замене заполнителя с форматированием %
При попытке заменить заполнитель, например {0}, с использованием форматирования %, разработчики могут столкнуться со следующим ошибка: «TypeError: не все аргументы преобразуются во время форматирования строки». Эта ошибка возникает из-за неправильного форматирования, в частности из-за путаницы между форматированием % в старом стиле и форматированием {} в новом стиле.
При форматировании % в старом стиле для форматирования используются заполнители, такие как %d, как показано ниже. :
'It will cost $%d dollars.' % 95
Однако при использовании нескольких значений их необходимо указывать в виде кортежа:
"'%s' is longer than '%s'" % (name1, name2)
С другой стороны, форматирование {} нового стиля использует заполнители, такие как {} и метод .format. Крайне важно избегать смешивания этих двух стилей. Если строка шаблона содержит заполнители {}, следует использовать .format, а не %.
# Correct: 'It will cost ${0} dollars.'.format(95) "'{0}' is longer than '{1}'".format(name1, name2) # Incorrect (Do not mix % and {}): 'It will cost ${0} dollars.' % 95 "'%0' is longer than '%1'" % (name1, name2)
Придерживаясь этих рекомендаций по форматированию, разработчики могут устранить ошибку и формат «TypeError: не все аргументы преобразованы во время форматирования строки». их строки правильно.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3