0

我有以下代码:

from datetime import datetime, timedelta


class MyDate(datetime):
      pass

d = MyDate.now()
t = timedelta(1, 1, 1)
print type(d)
print type(d - t)

输出如下:

<class '__main__.MyDate'>
<type 'datetime.datetime'> 

所以现在我的问题是,为什么子类减去timedelta导致超类?

此外,是否有一种解决方法,我不必封装datetime对象并重定向所有方法datetime

4

1 回答 1

3

您的MyDate子类不会覆盖减法函数__sub__(),因此从基类继承该函数,该函数返回基类的一个实例。

解决方法是什么?您想通过子类化来实现datetime什么?

于 2013-11-19T20:51:38.037 回答