定義内の関数名を変更するいくつかの方法を試しましたが、失敗しました。
>>> def f():
pass
>>> f.__name__
'f'
>>> def f():
f.__name__ = 'new name'
>>> f.__name__
'f'
>>> def f():
self.__name__ = 'new name'
>>> f.__name__
'f'
ただし、name属性を定義した後で変更することはできます。
>>> def f():
pass
>>> f.__name__ = 'new name'
>>> f.__name__
'new name'
定義でそれを変更/設定する方法はありますか(デコレータを使用する以外)?