【发布时间】:2018-08-12 11:51:39
【问题描述】:
class Date(datetime.date):
def __init__self(self, year, month, day):
super().__init__(year, month, day)
假设我创建了这样一个继承自datetime.date 的类,并且我想重新定义__init__ 方法,而不是采用参数year、month 和day,而是采用字符串s,解析它并在 super __init__ 方法中传递解析的变量。像这样的:
class Date(datetime.date):
def __init__self(self, s):
args = self.parse(s)
super().__init__(*args)
这种做法正确吗?我的意思是这在实践中使用了吗?
【问题讨论】:
-
已经有一个函数可以很容易地做到这一点:
dateimte.datetime.strptime,当该功能已经存在时,为什么要对 Date 进行子类化?如果这是您进行子类化的唯一原因,那么子类化毫无意义
标签: python python-3.x class initialization