Error de tipo al sustituir el marcador de posición con formato %
Al intentar sustituir un marcador de posición como {0} usando el formato %, los desarrolladores pueden encontrar lo siguiente error: "TypeError: no todos los argumentos se convirtieron durante el formateo de cadenas". Este error se debe a un formato inadecuado, específicamente debido a una confusión entre el formato % de estilo antiguo y el formato {} de estilo nuevo.
El formato % de estilo antiguo emplea marcadores de posición como %d para el formato, como se ejemplifica a continuación :
'It will cost $%d dollars.' % 95
Sin embargo, cuando se utilizan múltiples valores, se deben proporcionar como una tupla:
"'%s' is longer than '%s'" % (name1, name2)
Por otro lado, el formato {} de nuevo estilo emplea marcadores de posición como {} y el método .format. Es fundamental evitar mezclar estos dos estilos. Si la cadena de plantilla contiene {} marcadores de posición, se debe usar .format, no %.
# 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)
Al seguir estas pautas de formato, los desarrolladores pueden resolver el error y el formato "TypeError: no todos los argumentos se convierten durante el formateo de cadenas" sus cadenas correctamente.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3