【发布时间】:2013-10-10 12:02:30
【问题描述】:
我有一个房间类。我希望每次使用该类创建对象时,该对象都会添加到所有房间的列表中。 房间等级:
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 onoccuped 传递给对象时,您不需要传递第 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')
【问题讨论】:
-
你的第一个问题是什么?
-
什么是箭头? “房间列表”在哪里?
-
arrow 是一个时间库(请参阅crsmithdev.com/arrow),我还没有真正的 list_of_rooms 任何地方,我想我应该在某个地方将它作为全局变量运行?
-
在创建
Room时将Room添加到列表中如何?我不认为Room应该将自己添加到全局变量中。 -
是的,目前我只是在它下面的另一行中创建一个对象后将一个房间添加到列表中,但我认为也许会有更有效的方法。
标签: python class object initialization