Wie korrigiere ich einen String-Formatierungsfehler beim Mischen von %- und {}-Platzhaltern?

Linda Hamilton
Freigeben: 2024-10-18 12:03:15
Original
213 Leute haben es durchsucht

How to Correct String Formatting Error When Mixing % and {} Placeholders?

Error in String Formatting Using % and {}

While attempting to format strings using placeholders like {0}, you may encounter the error "TypeError: not all arguments converted during string formatting." This error arises due to a misunderstanding of the syntax differences between old-style % formatting and new-style {} formatting.

Old-Style % Formatting

The old-style % formatting technique employs placeholder codes% to format strings. For single values, they can be written as is:

'It will cost $%d dollars.' % 95
Nach dem Login kopieren

For multiple values, they must be supplied as a tuple:

"'%s' is longer than '%s'" % (name1, name2)
Nach dem Login kopieren

New-Style {} Formatting

The new-style {} formatting uses placeholder codes {} and the .format method. Here's the key difference: you cannot mix and match the two styles. If the "template" string contains {} placeholders, then call .format, don't use %.

'It will cost ${0} dollars.'.format(95)

"'{0}' is longer than '{1}'".format(name1, name2)
Nach dem Login kopieren

Correcting the Code

To address the error in the given code, you can either use % formatting consistently or switch to {} formatting:

Old-style % Formatting

print ("'{0}' is longer than '{1}'"% (name1, name2))
Nach dem Login kopieren

New-style {} Formatting

print ("'{0}' is longer than '{1}'".format(name1, name2))
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie korrigiere ich einen String-Formatierungsfehler beim Mischen von %- und {}-Platzhaltern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!