Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中的类中使用内置datetime函数_Python - Fatal编程技术网

在python中的类中使用内置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

我需要关于如何在类的继承实现中使用datetime函数的帮助。我真的不知道为什么在代码块下面会出现这样的错误:

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的答案解决了您的问题,您应该接受它(单击答案旁边的复选标记)。这有两件事。它让每个人都知道你的问题已经解决了,并让帮助你的人相信你的帮助。我需要一个完整的解释。