"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como evitar “TypeError: Nem todos os argumentos foram convertidos” ao usar a formatação de espaço reservado em Python

Como evitar “TypeError: Nem todos os argumentos foram convertidos” ao usar a formatação de espaço reservado em Python

Publicado em 2024-11-03
Navegar:783

How to Avoid \

TypeError ao substituir o espaço reservado por % de formatação

Ao tentar substituir um espaço reservado como {0} usando % de formatação, os desenvolvedores podem encontrar o seguinte erro: "TypeError: nem todos os argumentos foram convertidos durante a formatação da string." Este erro decorre de formatação inadequada, especificamente devido a uma confusão entre a formatação % de estilo antigo e a formatação {} de estilo novo.

A formatação % de estilo antigo emprega espaços reservados como %d para formatação, conforme exemplificado abaixo :

'It will cost $%d dollars.' % 95

No entanto, ao utilizar vários valores, eles devem ser fornecidos como uma tupla:

"'%s' is longer than '%s'" % (name1, name2)

Por outro lado, a formatação {} de novo estilo emprega espaços reservados como {} e o método .format. É crucial evitar misturar esses dois estilos. Se a string do modelo contiver espaços reservados {}, .format deverá ser usado, não %.

# 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)

Ao aderir a essas diretrizes de formatação, os desenvolvedores podem resolver o erro e formato "TypeError: nem todos os argumentos foram convertidos durante a formatação de string" suas strings corretamente.

Declaração de lançamento Este artigo foi reimpresso em: 1729221315 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3