可以在python中操作不同的类吗? 像datetime添加/减少的日期:datetime.datetime(2018,07,18)-datetime.date(2018,07,18)吗?
答案 0 :(得分:1)
是的,您可以重载一个类的所有operator methods,以使各个运算符可以在该类上工作。
例如,以下类重载减法运算符方法{
"errcode": 40066,
"errmsg": "invalid url hint: [qQ0550418k466!]"
}
以根据其属性__sub__
执行减法:
n
这将输出class N:
def __init__(self, n):
self.n = n
def __sub__(self, x):
return self.n - x.n
print(N(3) - N(2))
。
答案 1 :(得分:0)
您不能直接这样做。您可以使用类datetime.timedelta
diff = datetime.datetime(2018, 7, 18) - datetime.timedelta(days=100)
答案 2 :(得分:0)
是的,您可以执行以下操作:
import datetime
a = datetime.date(2018, 7, 18) - datetime.date(2018, 7, 3)
days = a.days
print(f'Number of days difference is {days}')
请注意,将datetime中的减数定义为给出对象timedelta,使用days方法则给出为整数的天数。
因此type(a)
赋予<class 'datetime.timedelta's>
和a.days
的数字15