【发布时间】:2012-08-16 03:18:21
【问题描述】:
在我的应用程序中,我希望我的所有 datetime.__str__() 以不同方式返回到默认值。简单地继承和覆盖方法可以吗?
class datetime(datetime):
def __str__(self):
return self.strftime('%d-%m-%y %H:%M:%S')
任何建议都会很棒。
【问题讨论】:
-
只用小写字母命名类不是一个好习惯。查看 Python 风格指南:python.org/dev/peps/pep-0008/#class-names
-
是的,这基本上就是 OOP 中的工作方式。但是请注意,您的类将不再返回 ISO 8601 格式的字符串,这至少在理论上可能会导致其他地方出现问题——例如,如果您将类的实例传递给期望常规 @ 的例程987654323@ 对象。直接使用现有的
strftime(format)方法可能会更好。 -
@Eric 那是我做的第一件事。我的问题是它是否“好”,而不是“这不起作用”。谢谢。
标签: python class datetime inheritance