>백엔드 개발 >파이썬 튜토리얼 >Python에서 문자열 형식 지정을 위해 언제 \'%s\' 대신 .format()과 함께 \'{}\' 자리 표시자를 사용해야 합니까?

Python에서 문자열 형식 지정을 위해 언제 \'%s\' 대신 .format()과 함께 \'{}\' 자리 표시자를 사용해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-18 12:54:30846검색

When Should I Use \'{}\' Placeholders with .format() Instead of \'%s\' for String Formatting in 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">&quot;'%s' is longer than '%s'&quot; % (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">&quot;'{0}' is longer than '{1}'&quot;.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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.