gpt4 book ai didi

python - 为什么我不能连接这些?

转载 作者:太空宇宙 更新时间:2023-11-04 10:38:53 24 4
gpt4 key购买 nike

 class Pet:

def __init__(self, name, age):
self.name = name
self.age = age

def talk(self):
raise NotImplementedError("Subclass must implement abstract method")

class Cat(Pet):

def __init__(self, name, age):
Pet.__init__(self, name, age)

def talk(self):
return "Meowww"

class Dog(Pet):

def __init__(self, name, age):
Pet.__init__(self, name, age)

def talk(self):
return "Woof"

def main ():

pets = [Cat("Jess",3),Dog("Riker",2),Cat("Fred",7),Pet("thePet",5)]

for pet in pets:
print "Name: " + pet.name + "Age: " + str(pet.age) + ", says: " + pet.talk

print jess.name

if __name__ == "__main__":
main()


Traceback (most recent call last):
File "pets.py", line 36, in <module
main()
File "pets.py", line 31, in main
print "Name: " + pet.name + "Age: " + str(pet.age) + ", says: " + pet.talk
TypeError: cannot concatenate 'str' and 'instancemethod' objects

好吧,我希望粘贴正确。我知道我需要将类型 int 转换为 str,但我不知道为什么它不能与“实例方法”连接。我四处搜索,大多数其他帖子都涉及将 int 转换为 str 或任何简单的格式错误。我在 Youtube 上关注这个教程,我一遍又一遍地查看它,我很确定我的代码格式正确并且与教程匹配。也许我只是遗漏了一些明显的东西,真的很感激另一双眼睛在这只眼睛上。

最佳答案

您必须将它与该方法的结果(返回值)连接起来。你如何得到这个结果?您必须调用在 (...) 中传递参数的方法。例如:

print "Name: " + ... + pet.talk()

关于python - 为什么我不能连接这些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21961683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com