gpt4 book ai didi

python - 在 python 中打印来自父类(super class)的元素

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

嗨,我有以下父类(super class)

class Room:
def __init__(self,building,floor,number):
self.building=building
self.floor=floor
self.number=number
def __str__(self):
return (str(self.building)+'.'+str(self.floor)+'.'+str(self.number))

及以下子类

class Occupant(Room):
def __init__(self,familyname,givenname,building,floor,number):
self.familyname=familyname
self.givenname=givenname
Room.__init__(self,building,floor,number)
def __str__(self):
return (str(self.familyname)+', '+str(self.givenname)+......)

子类如何打印来自父类(super class)的元素。当我打印来自类 Occupant 的对象时,我应该添加到 (.....) 以获取正确的输出。谢谢

最佳答案

Occupant 看起来是一个人,而 Room 是一个位置。如果是这样,那么说 Occupant 是一种 Room 就没有意义了。所以 Occupant 不应该是 Room 的子类。相反,Occupant 有一个 Room:

class Room:
def __init__(self, building, floor, number):
self.building = building
self.floor = floor
self.number = number
def __str__(self):
return (str(self.building)+'.'+str(self.floor)+'.'+str(self.number))

class Occupant:
def __init__(self, familyname, givenname, room):
self.familyname = familyname
self.givenname = givenname
self.room = room

def __str__(self):
return '{f}, {g} -- {r}'.format(f = self.familyname, g = self.givenname, r = self.room)

room = Room('Building', 'Floor', 'Num')
occ = Occupant('Family', 'Given', room)
print(occ)
# Family, Given -- Building.Floor.Num

关于python - 在 python 中打印来自父类(super class)的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11071919/

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