Skip to main content
 首页 » 编程设计

Python3绑定(bind)方法

2025年05月04日28www_RR

您好,我有一个包含 pets 类的 python 文件和一个包含 people 类的文件和一个主文件 代码是这样的: 宠物代码:

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>> 

这是什么,我该如何解决?? 谢谢。

请您参考如下方法:

你需要的是print(p1.printPets())

您需要调用该方法。

否则你正在做的是打印方法,Python 给你的是方法类型(绑定(bind))、它所属的实例类型和实例地址。