Python 将变量放入字符串(引号)

Python 将变量放入字符串(引号),python,variables,quotes,Python,Variables,Quotes,帮助我无法使其工作,我试图将变量age放入字符串中,但它无法正确加载变量 这是我的密码: import random import sys import os age = 17 print(age) quote = "You are" age "years old!" 给出此错误: File "C:/Users/----/PycharmProjects/hellophyton/hellophyton.py", line 9 quote = "You are" age "ye

帮助我无法使其工作,我试图将变量age放入字符串中,但它无法正确加载变量

这是我的密码:

import random
import sys
import os


age = 17
print(age)
quote = "You are" age "years old!"
给出此错误:

File "C:/Users/----/PycharmProjects/hellophyton/hellophyton.py", line 9
        quote = "You are" age "years old!"
                        ^
SyntaxError: invalid syntax

Process finished with exit code 1

您应该在这里使用字符串格式化程序,或连接。对于串联,您必须将
int
转换为
字符串。不能将整数和字符串连接在一起

如果您尝试,这将引发以下错误:

TypeError: unsupported operand type(s) for +: 'int' and 'str'
格式:

quote = "You are %d years old" % age
quote = "You are {} years old".format(age)
串联(单向)

编辑:正如J.F.塞巴斯蒂安在评论中指出的那样,我们也可以做以下工作

在Python 3.6中:

f"You are {age} years old"
Python的早期版本:

"You are {age} years old".format(**vars())

这是一种方法:

>>> age = 17
>>> quote = "You are %d years old!" % age
>>> quote
'You are 17 years old!'
>>> 

您需要使用
+
符号将其插入字符串,如下所示:

quote = "You are " + age + " years old!"

您可以在上阅读更多有关执行此操作的其他方法。

如果符号正好位于字符串文字之间,则可以跳过
+
符号。例如:
“您是”“17”“岁!”
但您需要加号来连接字符串变量和字符串文字:
“您是”+age+“岁!”
True,但这只是隐式字符串连接。过去,性能会有轻微的、非常轻微的改进,但在最新的实现中,这种情况已经不复存在。另外,我认为这是一个坏习惯。显式>隐式使调试更加困难。在Python 3.6中提到
f“You are{age}year”
,或者在早期Python版本中提到
“You are{age}year”。format(**vars())
。谢谢你帮我修复了它@例如,后者可能产生答案中提到的类型错误。
quote = "You are " + age + " years old!"