В 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
)