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.
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