如何将classic 字符串转换为f字符串?

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

yields :The answer is {variable}

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

预期yields :The answer is 42

推荐答案

f字符串是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)

然后,用户可以在{...}个字段中使用名称空间中的任何键(或者不使用,未使用的字段将被忽略).

Python-3.x相关问答推荐

Python:字典和列表:在列表字典中搜索子列表的有效方法

如何检索与美汤相似的标签中的文本?

Pandas 根据条件增加Dataframe列

regexp多重前瞻行为的解释

合并两个数据帧并对某些总和进行求和

Heroku 中的未知错误代码缺少一个或多个参数

添加任意数量的 pandas 数据框

Python中根据分组/ID对两个数据框进行映射,以更接近值的升序排列

以编程方式映射 uniprot ID 时如何解决 400 客户端错误?

在 Django 中执行 JSONRenderer.render(serialized_student_data.data) 时遇到问题

具有函数值的 Python 3 枚举

使用带有多线程的 win32com

python tkInter 浏览文件夹按钮

内部如何使用 Python 语法?

使用 Python 3 按行进行分析

在数据类中创建类变量的正确方法

Python3 的超级和理解-> TypeError?

无 Python 错误/错误?

具有不均匀间隙的 Python 范围

Python:如何在 Windows 资源管理器中打开文件夹(Python 3.6.2、Windows 10)