19

Python 3.6 の機能の 1 つは、フォーマットされた文字列です。

This SO question (String with 'f' prefix in python-3.6) は、フォーマットされた文字列リテラルの内部について尋ねていますが、フォーマットされた文字列リテラルの正確なユースケースを理解していません。この機能はどのような状況で使用する必要がありますか? 明示的は暗黙的よりも優れていませんか?

4

3 に答える 3

35

シンプルは複雑よりも優れています。

ここでは、文字列をフォーマットしました。コードを明示的に保ちながら、文字列の書式設定を簡素化します (他の文字列書式設定メカニズムと比較して)。

title = 'Mr.'
name = 'Tom'
count = 3

# This is explicit but complex
print('Hello {title} {name}! You have {count} messages.'.format(title=title, name=name, count=count))

# This is simple but implicit
print('Hello %s %s! You have %d messages.' % (title, name, count))

# This is both explicit and simple. PERFECT!
print(f'Hello {title} {name}! You have {count} messages.')

str.format単純な文字列フォーマットを置き換えるように設計されています。

于 2016-08-22T14:26:49.003 に答える