Rumah >pembangunan bahagian belakang >Tutorial Python >Bilakah Saya Harus Menggunakan \'{}\' Pemegang Tempat dengan .format() Daripada \'%s\' untuk Pemformatan Rentetan dalam Python?
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.
Atas ialah kandungan terperinci Bilakah Saya Harus Menggunakan \'{}\' Pemegang Tempat dengan .format() Daripada \'%s\' untuk Pemformatan Rentetan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!