Я попробовал несколько способов изменить имя функции в определении, но они не увенчались успехом.
>>> def f():
pass
>>> f.__name__
'f'
>>> def f():
f.__name__ = 'new name'
>>> f.__name__
'f'
>>> def f():
self.__name__ = 'new name'
>>> f.__name__
'f'
Но я могу изменить атрибут имени после его определения.
>>> def f():
pass
>>> f.__name__ = 'new name'
>>> f.__name__
'new name'
Любой способ изменить/установить его в определении (кроме использования декоратора)?