gpt4 book ai didi

python 类将自身的实例添加到列表中

转载 作者:行者123 更新时间:2023-12-05 08:34:49 24 4
gpt4 key购买 nike

我有一个房间类。我希望每次使用该类创建对象时,该对象都会添加到所有房间的列表中。客房等级:

class Rooms:
"""Room class, takes type,days, occupied or not and when it frees up"""
def __init__(self, room_type, days, occupied, when_free):
self.room_type = room_type
self.days = days
self.occupied = occupied
self.when_free = arrow.get(when_free,'YYYY-MM-DD')

也欢迎任何其他反馈!

也不确定我是否应该为此创建新主题,但是是否有可能在创建对象并将占用的 True 传递给对象时,您不需要传递第 4 个变量并将其作为当前变量日期代替?简而言之,如果没有第 4 个变量,它会传递 arrow.get(str(arrow.utcnow()),'YYYY-MM-DD') 而不是

解决了我的第二个问题。我确实将 init 更改为:

def __init__(self, room_type, days, occupied, when_free=str(arrow.get(str(arrow.utcnow()),'YYYY-MM-DD'))):
self.room_type = room_type
self.days = days
self.occupied = occupied
self.when_free = arrow.get(when_free,'YYYY-MM-DD')

最佳答案

我会建议一种比 the above 稍微优雅和合乎逻辑的方式:

class Building(object):
def __init__(self):
self.rooms = []

class Room(object):
def __init__(self, building=None)

if building:
building.rooms.append(self)
self.building = building

b = Building()
r = Room(b)

这样,您就不需要每次都调用 b.rooms.append,现在它更符合 OOP。

关于python 类将自身的实例添加到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19295242/

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