我对OOP相当陌生, - 所以这可能是一个愚蠢的问题。请温柔,请...不支持的类型timedelta天, - 当试图制作Timedelta类的扩展版本时
我想要做一个类,就像datetime.timedelta
-class,但有一些修改(如:如果有超过1天的时间价值,那么它仍然会将其输出为小时和分钟;并且该秒不会被打印)。
我的计划是将timedelta对象作为输入到类中,也扩展了datetime.timedelta
-class - 但这给我带来了问题。这里是我的代码:
class my_own_timedelta_class(datetime.timedelta):
def __init__(self, timedelta_object):
self.foo = 'bar' # not important.
test_duration = datetime.timedelta(days=3, hours=5, minutes=20, seconds=7)
testing = my_own_timedelta_class(test_duration)
而且它给我这个错误:
unsupported type for timedelta days component: datetime.timedelta
我为什么会得到这个错误?我所做的只是将timedelta_object
传递给构造函数 - 我什至不做任何事情,它仍然抱怨!
我也想过把秒数传递给my_own_timedelta_class
,但是我认为通过整个对象会更“干净”。
有没有更好的方法来做到这一点?
甜。感谢您的回答。这样可行。我可以让你详细说明,为什么会引发Python抛出这个错误:'不支持timedelta days组件的类型:datetime.timedelta'?例如......是因为'东西是汽车,不能包含汽车'或是因为'包含汽车的东西不能成为汽车'。我希望这个额外的问题是有道理的。 – Zeth