在Python

时间:2017-08-15 19:53:24

标签: python python-3.x

我正在使用Python 3.6。当f-strings和print语句在Python中一起使用时,我觉得下面的代码有点怪异。

person = {"name": "Jenne", "age": 23}
print(f"Person name is {person["name"]} and age is {person["age"]}")

以上语句导致错误

但是当双引号在名称和年龄的print语句中被单引号替换时,它就像魅力一样。

print(f"Person name is {person['name']} and age is {person['age']}")

有人可以解释一下这种行为吗?

1 个答案:

答案 0 :(得分:2)

双引号"name"与双引号外字符串f"Person name is {..."冲突,也就是说"name"的第一个双引号结束前一个字符串。你不能以这种方式嵌套字符串。

N.B。 f'Person name is...'f'''Person name is...'''f"""Person name is..."""都可以使用双引号。