我正在使用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']}")
有人可以解释一下这种行为吗?
答案 0 :(得分:2)
双引号"name"
与双引号外字符串f"Person name is {..."
冲突,也就是说"name"
的第一个双引号结束前一个字符串。你不能以这种方式嵌套字符串。
N.B。 f'Person name is...'
或f'''Person name is...'''
或f"""Person name is..."""
都可以使用双引号。