在 Python 3.6 中,您可以使用f 字符串,例如:
>>> date = datetime.date(1991, 10, 12)
>>> f'{date} was on a {date:%A}'
'1991-10-12 was on a Saturday'
我想重载接收'%A'
上述内容的方法。可以做到吗?
例如,如果我想围绕 编写一个愚蠢的包装器datetime
,我可能希望这个重载看起来像:
class MyDatetime:
def __init__(self, my_datetime, some_other_value):
self.dt = my_datetime
self.some_other_value = some_other_value
def __fstr__(self, format_str):
return (
self.dt.strftime(format_str) +
'some other string' +
str(self.some_other_value
)