您好我有一个python文件,其中包含类pet和一个文件包含类人员和主文件 代码是这样的: 宠物代码:
class Pet:
def __init__(self, name, age, sound, type):
self.name = name
self.age = age
self. sound = sound
self. type = type
class Dog(Pet):
def __init__(self, name, age):
super().__init__(name, age, "How How", "Dog")
class Cat(Pet):
def __init__(self, name, age):
super().__init__(name, age, "Mewo", "Cat")
这是人民档案:
import Pets
class Person:
def __init__(self, gender, name, age):
self.gender = gender
self.name = name
self.age = age
self.pets = []
def addPet(self, pet):
if isinstance(pet, Pets.Pet):
self.pets.append(pet)
else:
print("This is not a pet pls try again.")
def printPets():
print("He has:")
for pet in self.pets:
print("A: " + pet.type+ " Named: " + pet.name)
这是主文件:
from Person import Person
import Pets
def Main():
p1 = Person("Male", "Bob", 18)
p1.addPet(Pets.Cat("Mitzi", 2))
p1.addPet(Pets.Dog("Rexi", 5))
print(p1.printPets)
if __name__ == "__main__":
Main()
我得到的输出是:
<bound method Person.printPets of <Person.Person object at 0x7f413e3604e0>>
这是什么以及如何解决? 感谢名单。
答案 0 :(得分:4)
您需要的是print(p1.printPets())
您需要调用该方法。
另外你正在做的是打印方法,Python给你的是方法类型(绑定),它所属的实例类型和实例的地址。
答案 1 :(得分:1)
您只需要在()
内包含print()
,如下所示:
print(s1.avg())