gpt4 book ai didi

Python3绑定(bind)方法

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:25 27 4
gpt4 key购买 nike

您好,我有一个包含 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))、它所属的实例类型和实例地址。

关于Python3绑定(bind)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34840273/

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