Python 字符串格式中 "f" 和 "F" 之间有区别吗?

Is there a difference between "f" and "F" in Python string formatting?

要在 Python 3.6+ 中格式化字符串,我通常使用小写 "f" 选项来包含变量。例如:

response = requests.get(f'{base_url}/{endpoint}?fields={field_list}')

我最近看到我的一位同事总是使用大写 "F",而不是。像这样:

response = requests.get(F'{base_url}/{endpoint}?fields={field_list}')


小写"f"和大写"F"有区别吗?如果是,你什么时候使用它们?

正如 PEP 498, chapter Specification 中所解释的,两者都被接受,并且应该没有区别。

In source code, f-strings are string literals that are prefixed by the letter 'f' or 'F'. Everywhere this PEP uses 'f', 'F' may also be used.

完全没有区别。请参阅 Python 文档中 Formatted string literals 的定义。

A formatted string literal or f-string is a string literal that is prefixed with 'f' or 'F'.

没有进一步提及用于介绍文字的特定字符。

两者没有区别。为了更好地理解,您可以查看字符串格式。