«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как избежать ошибки «TypeError: не все аргументы преобразованы» при использовании форматирования заполнителей в Python

Как избежать ошибки «TypeError: не все аргументы преобразованы» при использовании форматирования заполнителей в Python

Опубликовано 3 ноября 2024 г.
Просматривать:617

How to Avoid \

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: не все аргументы преобразованы во время форматирования строки». их строки правильно.

Заявление о выпуске Эта статья перепечатана по адресу: 1729221315. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3