如何将自定义格式化程序添加到我的 类 类似于日期时间?

How can I add custom formatters to my classes similar to datetime?

对于日期时间对象,您可以以特殊方式使用 .format

from datetime import datetime
'{:%Y-%m-%d %H:%M}'.format(datetime(1990, 4, 28, 22, 30))

日期时间对象 the usual formatters

我可以提供任何 class 这样的自定义方式来格式化它们吗?怎么样?

刚刚在 https://pyformat.info/ 上找到答案:

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'