Python 如何向类中添加类似datetime的自定义格式化程序?

Python 如何向类中添加类似datetime的自定义格式化程序?,python,string-formatting,Python,String Formatting,对于datetime对象,您可以以特殊方式使用.format: from datetime import datetime '{:%Y-%m-%d %H:%M}'.format(datetime(1990, 4, 28, 22, 30)) 这些是用于datetime对象的 我可以给任何类这样的自定义方式来格式化它们吗?怎么做?刚刚在以下网站上找到了答案: 是 class HAL9000(object): def __format__(self, format): if

对于datetime对象,您可以以特殊方式使用
.format

from datetime import datetime
'{:%Y-%m-%d %H:%M}'.format(datetime(1990, 4, 28, 22, 30))
这些是用于datetime对象的

我可以给任何类这样的自定义方式来格式化它们吗?怎么做?

刚刚在以下网站上找到了答案:

class HAL9000(object):

    def __format__(self, format):
        if (format == 'open-the-pod-bay-doors'):
            return "I'm afraid I can't do that."
        return 'HAL 9000'

复制目标仅指字符串格式。这个问题似乎是针对任意类的对象,尽管标题听起来像是关于
datetime
。我想说这不是一个骗局,但是标题应该被编辑。@C8H10N4O2我试图改进标题。@C8H10N4O2<代码>\uuuu格式\uuuu众所周知,您可以很容易地找到更多的副本,例如: