많은 수의 (100 개에 가까운) 클래스를 프로그래밍 방식으로 만들고 있는데 클래스의 문서 문자열을 설정할 수 있기를 원합니다. 각 클래스 docstrings은 채워질 특정 부분이있는 동일한 기본 구조를 갖습니다. 클래스를 만들 때 템플릿 문자열을 정의한 다음 클래스 별 인수로 채 웁니다.파이썬 2의 클래스에 대해 __doc__을 설정하십시오.
난 후 나는 무엇을 인위적인 예는 생각으로 내가 help(A)
를 호출 할 때 A.__doc__ = class_docstr.format(name="A")
이 그래서 내가 이런 걸 볼 수 설정 어떻게 든하고 싶으면 무엇 다음
class_docstr = """
This is the docstring for the {name} class.
"""
class A(object):
def __init__(self):
pass
class B(object):
def __init__(self):
pass
class C(object):
def __init__(self):
pass
:
class A(__builtin__.object)
| This is the docstring for the A class.
을
이 작업을 수행하기 위해 메타 클래스를 사용해야 할 수도 있다고 생각하지만 어떻게해야할지 모르겠습니다.
... 거의 확실 과잉 인' 메타 클래스의'__new__' 메쏘드 안에있는 클래스 사전의 __doc__ 키를 사용하여 클래스가 실제로 생성되기 전에 이루어져야한다는 것을 명심하십시오. –
클래스 정의를 훑어 보아도 문서를 볼 수있는 분명한 방법이 없기 때문에 문서화 문자열의 목적을 무시할 수 있습니다. 이 방법으로 문서화 문자열을 생성해야하는 이유가 있습니까? – astex
파이썬이나 ipython repl에서 대화식 탐색을 위해 docstring을 더 원하고, 소스를 문서화하지 않고 sphinx를 통해 자동으로 html 문서를 생성하기를 원합니다. – spencerlyon2