3

在我的应用程序中,我希望所有我的人都datetime.__str__()以不同的方式返回默认值。简单地继承和覆盖方法可以吗?

class datetime(datetime):
    def __str__(self):
        return self.strftime('%d-%m-%y %H:%M:%S')

任何建议都会很棒。

4

2 回答 2

3

通常,您会希望将新类命名为内置模块中定义的类以外的名称,但是是的,您就是这样做的。为了您的理智,请不要使用与预定义类相同的名称创建类定义。

我只是试着做class datetime(datetime)一点,它确实有效,至少在解释器中,但任何 python 专家都可能会笑或不寒而栗。

于 2012-08-16T03:34:51.223 回答
0

这是一个相当哲学的问题 :) 通常在 Python 中我们不喜欢这样的东西。您现在必须使用自己的类,并且始终记住使用它而不是默认日期时间(如果它们具有相同的名称,则很难维护)。Ruby 家伙只会使用 monekypatch 日期时间,我认为这更糟。

我个人什至不会用不同的名称继承它(这也会让我感到困惑),而是在任何类之外创建一些快捷功能并直接使用它。

于 2012-08-16T09:11:19.913 回答