web-dev-qa-db-ja.com

文字列をf文字列に変換する

クラシックstringf-stringに変換するにはどうすればよいですか? :

variable = 42
user_input = "The answer is {variable}"
print(user_input)

答えは{変数}です

f_user_input = # Here the operation to go from a string to an f-string
print(f_user_input)

答えは42です

13
François M.

F-stringはsyntaxであり、オブジェクトタイプではありません。任意の文字列をその構文に変換することはできません。構文は文字列オブジェクトを作成しますが、その逆は行いません。

_user_input_をテンプレートとして使用することを想定しているため、_user_input_オブジェクトで str.format() method を使用するだけです。

_variable = 42
user_input = "The answer is {variable}"
formatted = user_input.format(variable=variable)
_

構成可能なテンプレートサービスを提供する場合は、補間可能なすべてのフィールドを含む名前空間ディクショナリを作成し、str.format()を_**kwargs_呼び出し構文とともに使用して名前空間を適用します。

_namespace = {'foo': 42, 'bar': 'spam, spam, spam, ham and eggs'}
formatted = user_input.format(**namespace)
_

次に、ユーザーは_{...}_フィールドの名前空間にある任意のキーを使用できます(または、なし、未使用のフィールドは無視されます)。

16
Martijn Pieters
variable = 42
user_input = "The answer is {variable}"
# in order to get The answer is 42, we can follow this method
print (user_input.format(variable=variable))

(または)

user_input_formatted = user_input.format(variable=variable)
print (user_input_formatted)

良いリンク https://cito.github.io/blog/f-strings/

3
priya raj