gpt4 book ai didi

python - 在 Python 3 中设置动态类型的文档字符串

转载 作者:太空狗 更新时间:2023-10-30 02:49:27 34 4
gpt4 key购买 nike

我正在动态创建一些类,我希望它们具有不同的文档字符串。我有:

def make_class(class_docstring):
class X:
pass
X.__doc__ = class_docstring
return X

这不起作用,因为文档字符串是只读的。然后,我尝试了:

def make_class(class_name, class_docstring):
class X:
def __init__(self):
super().__init__()

d = {'__doc__': class_docstring}
d.update(X.__dict__)
return type(class_name, (), d)

ClassName = make_class(
'ClassName',
"""
Some docstring...
""")

它一直有效,直到它必须调用 super

动态设置docstring属性的正确方法是什么?

最佳答案

您可以在类中设置文档字符串。

>>> def make_class(class_docstring):
... class X:
... __doc__ = class_docstring
... return X
...
>>> x = make_class('test doc')
>>> x
<class '__main__.X'>
>>> xx = x()
>>> xx.__doc__
'test doc'

我不确定为什么您的第二次尝试失败了。

关于python - 在 Python 3 中设置动态类型的文档字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8145465/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com