ホームページ >バックエンド開発 >Python チュートリアル >Python で文字列の書式設定に「%s」の代わりに .format() で「{}」プレースホルダを使用する必要があるのはどのような場合ですか?
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.
以上がPython で文字列の書式設定に「%s」の代わりに .format() で「{}」プレースホルダを使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。