對於我的Python 2.7.3項目,我有一個名爲custom_date
類,它有一個名爲fixed_date
屬性:Python的比較運算符重載
from datetime import date
class custom_date():
def __init__(self, fixed_date):
self.fixed_date = fixed_date
def __lt__(self, other):
return self.fixed_date < other
#__gt__, __ge__, __le__, __eq__, __ne__ all implemented the same way
我的想法是能夠直接比較custom_date.fixed_date
與內置date
。
問題
如果我比較一個custom_date
對象到date
對象,它的罰款。但是,如果我比較一date
對象到custom_date
,它返回一個TypeError
>>> from datetime import date
>>> x = custom_date(date(2013,2,1))
>>> y = date(2013,2,2)
>>> x > y
False
>>> y > x
TypeError: can't compare datetime.date to instance
有沒有解決這個辦法嗎?
好的答案,但OP自己的答案是'正確'(和更簡單)的解決方案,因爲它不會強迫你不必要地約束日期。 – Graeme 2015-11-16 21:01:49