クラシックstring
をf-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です
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)
_
次に、ユーザーは_{...}
_フィールドの名前空間にある任意のキーを使用できます(または、なし、未使用のフィールドは無視されます)。
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)