Python:在调用帮助函数时,动态主张函数的类名称,以插入其DocString
我的设置看起来如下:
def docstring_formatter(func):
func.__doc__ = func.__doc__.format(class_name=func.__self__.__class__.__name__) #this does not work
return func
class A:
@docstring_formatter
def my_function(self):
"""I am a function of class {class_name}"""
print("test")
class B(A):
pass
docstring = getattr(B.my_function, "__doc__")
>>> AttributeError: 'function' object has no attribute '__self__'
我想访问my_function属于的实际类名。由于我使用 help()
函数时没有实例化I类,因此 __ self __ __
属性尚未实例化,我也无法使用 functools.wraps
函数。我想找到一种方法,还可以提取字符串 b
或 b.my_function
当传递时 my_function
可能属于<<对象代码> a()或 b()
。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
给定代码:
my_function
对象具有self
绑定到您从中取的对象,即b
,因此您可以做:Given the code:
The
my_function
object has aself
binding to the object you took it from, which is aB
, so you can do: