我有一个类工厂,它生成一个具有绑定到另一个类的函数的类。当一个类从生成的类继承时,它会获得适当的功能。现在我想记录生成的类的函数,否则必须检查类工厂以查看该函数的作用,或者类工厂的文档必须描述所有生成的类的函数。
类工厂:
def greeter(name):
"""Generate a greeter for the given name."""
class Greeter(object):
def greet(self):
print('Hello {}.'.format(name))
greet.__doc__ = "Greet someone by the name of {!r}".format(name)
return Greeter
它的用法:
class GreetArthur(greeter('Arthur')):
pass
GreetArthur().greet() # Prints 'Hello Arthur.'
现在,当 Sphinx 记录这一点时,很明显GreetArthur
继承自Greeter
,但Greeter
从未记录,因为它是生成的。因此,从文档中不清楚GreetArthur
具有 function greet
。
greeter(name)
Generate a greeter for the given name.
class GreetArthur
Bases: Greeter
期望的结果:
greeter(name)
Generate a greeter for the given name.
class GreetArthur
Bases: Greeter
greet()
Greet someone by the name of 'Arthur'.