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上關注這個教程,我一遍又一遍地看了一遍,我很確定我的代碼格式正確,並且與教程相匹配。也許我只是錯過了一些顯而易見的東西,真的會很欣賞這一款的另一雙眼睛。爲什麼我不能連接這些?
謝謝,看來我的眼睛再次欺騙了我。 – user3341951