【问题标题】:TypeError: can only concatenate str (not "int") to str What does this mean? [duplicate]TypeError: can only concatenate str (not "int") to str 什么意思? [复制]
【发布时间】:2019-02-02 08:45:31
【问题描述】:
def myFunc(King):
    print("The characters name is " + King.name + " and age is " + King.age)

如何将 int 链接到字符串?

【问题讨论】:

  • "The characters name is " + King.name + " and age is " + str(King.age) 注意str:您需要先将int 转换为str,然后才能+ 他们。

标签: python python-3.x


【解决方案1】:

这正是错误消息所说的:"The characters name is " + King.name + " and age is " 是一个字符串。您不能向其添加整数 (King.age)。

幸运的是,您有很多可用的解决方法:

  1. print("The characters name is", King.name, "and age is", King.age)
  2. print(f"The characters name is {King.name} and age is {King.age}")(需要 Python >= 3.6
  3. print("The characters name is {King.name} and age is {King.age}".format(King=King))
  4. print("The characters name is {} and age is {}".format(King.name, King.age))

...

【讨论】:

  • 我喜欢你不将King.age 转换为字符串,而是依赖隐式格式。通常的答案是使用str 不是首选方式。
  • @OlivierMelançon。我同意。无论如何,到str 的转换都是隐式发生的。无需赘述。我发现有必要定期显式转换的唯一一次是使用str.join
【解决方案2】:
def myFunc(King):
    print("The characters name is " + str(King.name) + " and age is " + str(King.age))

【讨论】:

  • 使用str内置函数
  • King.name 几乎可以肯定已经是一个字符串了...无需转换。
  • 您的第一条评论应该是您回答的一部分...
猜你喜欢
  • 2020-09-18
  • 2022-11-01
  • 2020-11-21
  • 2023-02-25
  • 2021-08-18
  • 1970-01-01
  • 2020-02-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多