为什么我们需要在 python 中的 f 字符串周围加上撇号?
Why do we need to put apostrophes around an f string in python?
我了解什么是 f 字符串以及如何使用它们,但我不明白为什么我们已经将变量设为字符串时还需要在整个 f 字符串周围加上撇号。
first_name = 'Chris'
last_name = 'Christie'
sentence = f'That is {first_name} {last_name}'
我明白预期的结果是什么。但这就是我感到困惑的地方。变量 first name 和 last name 不是已经是字符串了吗?那么当我们将它放入 f 字符串语句时,我们不是将两个字符串(变量名和姓)放在一个大字符串中(因为整个 f 字符串语句被撇号包围)?对不起,如果这令人困惑
aren't we putting two strings (the variables first name and last name) inside one big string
是的。在这个例子中,这不是一件难事。按照你的建议,你可以这样做:
first_name = 'Chris'
last_name = 'Christie'
sentence = 'That is ' + first_name + ' ' + last_name
连接字符串。但这很快就会变得笨拙。由于所有这些引号和运算符,很难一眼看出最终字符串的确切外观。
很多语言都想出了一种方法,让变量成为字符串本身的一部分。这样您就可以更自然地编写字符串。例如,在 Python 你也可以使用 "%-formatting":
sentence = 'That is %s %s' % (first_name, last_name)
这样好多了,因为您可以轻松地看到变量在字符串中的位置。但是当你有很多替换要做时它会变得混乱,因为你需要将 % 的顺序与列表的顺序相匹配。如果我们可以将变量放在字符串本身中会怎么样?嗯,这就是 f-strings 的作用。
所以 f-strings 允许您查看变量将在字符串中结束的位置。正如您所指出的,符号看起来有点奇怪,因为您最终将字符串作为变量插入到字符串中,但符号就是符号。你会以一些模糊为代价获得一些表现力。
不要对撇号感到困惑:
我们使用撇号来定义 Python 中的字符串:
name = "Chris"
我们使用 f-Strings,因为它是格式化 Python:
字符串的新改进方法
# Define two strings
name = "Chris"
surname = "Christie"
# Use f-Strings to format the overall sentence
sentence = f"Hello, {name} {surname}"
# Print the computed sentence
print(sentence)
输出:'Hello, Chris Christie'
我了解什么是 f 字符串以及如何使用它们,但我不明白为什么我们已经将变量设为字符串时还需要在整个 f 字符串周围加上撇号。
first_name = 'Chris'
last_name = 'Christie'
sentence = f'That is {first_name} {last_name}'
我明白预期的结果是什么。但这就是我感到困惑的地方。变量 first name 和 last name 不是已经是字符串了吗?那么当我们将它放入 f 字符串语句时,我们不是将两个字符串(变量名和姓)放在一个大字符串中(因为整个 f 字符串语句被撇号包围)?对不起,如果这令人困惑
aren't we putting two strings (the variables first name and last name) inside one big string
是的。在这个例子中,这不是一件难事。按照你的建议,你可以这样做:
first_name = 'Chris'
last_name = 'Christie'
sentence = 'That is ' + first_name + ' ' + last_name
连接字符串。但这很快就会变得笨拙。由于所有这些引号和运算符,很难一眼看出最终字符串的确切外观。
很多语言都想出了一种方法,让变量成为字符串本身的一部分。这样您就可以更自然地编写字符串。例如,在 Python 你也可以使用 "%-formatting":
sentence = 'That is %s %s' % (first_name, last_name)
这样好多了,因为您可以轻松地看到变量在字符串中的位置。但是当你有很多替换要做时它会变得混乱,因为你需要将 % 的顺序与列表的顺序相匹配。如果我们可以将变量放在字符串本身中会怎么样?嗯,这就是 f-strings 的作用。
所以 f-strings 允许您查看变量将在字符串中结束的位置。正如您所指出的,符号看起来有点奇怪,因为您最终将字符串作为变量插入到字符串中,但符号就是符号。你会以一些模糊为代价获得一些表现力。
不要对撇号感到困惑:
我们使用撇号来定义 Python 中的字符串:
name = "Chris"
我们使用 f-Strings,因为它是格式化 Python:
字符串的新改进方法# Define two strings name = "Chris" surname = "Christie" # Use f-Strings to format the overall sentence sentence = f"Hello, {name} {surname}" # Print the computed sentence print(sentence)
输出:
'Hello, Chris Christie'