String Formatting in Python: Understanding '%s' Placeholders
When attempting to substitute placeholders like {0} using % formatting, you may encounter the error "TypeError: not all arguments converted during string formatting." This error often occurs due to mismatches between old-style and new-style string formatting methods.
Old-style % formatting uses % codes for formatting, where each value is specified as follows:
<code class="python">'It will cost $%d dollars.' % 95</code>
Multiple values require a tuple:
<code class="python">"'%s' is longer than '%s'" % (name1, name2)</code>
New-style {} formatting, on the other hand, utilizes {} codes and the .format method:
<code class="python">'It will cost ${0} dollars.'.format(95)</code>
<code class="python">"'{0}' is longer than '{1}'".format(name1, name2)</code>
To fix the error in the provided code, you should use {} placeholders and call the .format method:
<code class="python">print("'{0}' is longer than '{1}'".format(name1, name2))</code>
By following these guidelines, you can ensure proper string formatting and avoid the "TypeError: not all arguments converted during string formatting" error.
Das obige ist der detaillierte Inhalt vonWann sollte ich \'{}\'-Platzhalter mit .format() anstelle von \'%s\' für die String-Formatierung in Python verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!