在python中的类中使用内置datetime函数
我需要关于如何在类的继承实现中使用datetime函数的帮助。我真的不知道为什么在代码块下面会出现这样的错误:在python中的类中使用内置datetime函数,python,Python,我需要关于如何在类的继承实现中使用datetime函数的帮助。我真的不知道为什么在代码块下面会出现这样的错误: import datetime class Estate(): namelist = [] def __init__(self, name, car_number, EntryDate): self.name = name self.car_number = car_number assert type(EntryDate
import datetime
class Estate():
namelist = []
def __init__(self, name, car_number, EntryDate):
self.name = name
self.car_number = car_number
assert type(EntryDate) == datetime.date
self.EntryDate == EntryDate
Estate.namelist.append(self.name)
def get_name(self):
return self.name
def get_number(self):
return self.car_number
class ThreeBedroom(Estate):
def __init__(self, name, car_number, rent):
Estate.__init__(self, name, car_number)
self.rent = rent
def set_rent(self):
self.rent = rent
class twoBedroom(Estate):
def __init__(self, name, car_number, EntryDate, rent):
Estate.__init__(self, name, car_number, EntryDate)
self.rent = rent
def get_name(self):
return self.name
Tenant1 = twoBedroom("Amadi", 44557, datetime.date(2012, 12, 27), 350000)
print Estate.namelist
这是个例外--
回溯(最近一次呼叫最后一次):
文件“C:\Python27\Estate.py”,第31行,在
租户1=两居室(“Amadi”,44557,datetime.date(2012年12月27日),350000)
名称错误:未定义名称“datetime”您应该分配不比较相等:
self.EntryDate = EntryDate
它是print Estate.namelist
没有属性print Estate.lis
您还试图设置租金,如self.rent=rent
,租金不存在
def set_rent(self):
self.rent = rent
您可以使用传递租金的方法:
def set_rent(self,rent):
self.rent = rent
但是只需直接访问属性就可以更轻松地self.rent
在classthree卧房
中,init方法中没有包含EntryDate
class ThreeBedroom(Estate):
def __init__(self, name, car_number,EntryDate, rent):
Estate.__init__(self, name, car_number,EntryDate)
然后代码可以正常运行:
In [2]: Tenant1 = twoBedroom("Amadi", 44557, datetime.date(2012, 12, 27), 350000)
In [3]: Tenant2 = ThreeBedroom("Amadi", 44557, datetime.date(2012, 12, 27), 350000)
In [4]: Estate.namelist
Out[4]: ['Amadi', 'Amadi']
你的意思是在这里做作业而不是平等比较吗:
self.EntryDate==EntryDate
?另外,Estate
没有属性lis
…您确定顶部有import datetime
?@padriac感谢您在这方面的帮助。它工作得很好。@user3566502如果Padraic的答案解决了您的问题,您应该接受它(单击答案旁边的复选标记)。这有两件事。它让每个人都知道你的问题已经解决了,并让帮助你的人相信你的帮助。我需要一个完整的解释。