我尝试了几种方法来更改定义中的函数名称,但都失败了。
>>> 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'
有什么方法可以在定义中更改/设置它(除了使用装饰器)?