首页 > 解决方案 > 格式化包含要格式化的变量的字符串变量时,python f 字符串等效于 .format()

问题描述

我已经阅读了 PEP498 和多篇文章、论坛等,终于在我向你寻求帮助时达到了一个点。是的,我接受这样一种可能性,即我可能只是不明白我读到的内容:) 所以我也很感激你指出来;P

首先是代码,然后是我的用例。我想这样做,但使用 f 字符串:

input = 'this is {some} input.'
some = 'test'
print(input.format(some=some))

> this is test input.

所以我有一个带有“{some}”变量的字符串变量,稍后将由 str.format() 更改我如何使用 f 字符串来做到这一点?我知道我可以将字符串变量传递给 f 字符串,但是如何影响该字符串变量本身中的 {some} 变量?

input = 'this is {some} input.'
some = 'test'
print(f'{input}')

> this is {some} input.

用例:

我想要做的是读取一个包含带有参数的 sql 查询的文件。我需要能够更改查询的 FROM 部分中的表。这些不能是 sql 参数,因为它不受支持。因此,我正在读取文件并希望它包含一个“{table}”变量占位符,然后我可以在读取文件时对其进行格式化。我可以使用 .format() 方法来做到这一点,但我很好奇是否有人可以使用 f 字符串回答这个问题。

标签: pythonstring.formatf-string

解决方案


推荐阅读