__doc__
속성을 설정하는 장식을 작성할 수 있습니다 :
def doc(docstr):
def deco(f):
f.__doc__ = docstr
return f
return deco
이 새로운 스타일의 클래스에 대한 기능과 이전 스타일 클래스 작동하지만하지 않습니다는 __doc__
속성 이후 새로운 스타일의 클래스는 읽기 전용입니다 (메타 클래스를 사용하지 않으면 거의 이득을 얻지 못해 더욱 복잡해집니다).
어쨌든 이러한 장식자를 사용하지 말 것을 권장합니다. 그냥 평범한 대회에 충실하십시오. 그런 식으로, 동료 개발자가 즉시 문서화 문자열의 소스 코드를 분석하는 도구가 제대로 작동하는 문서화 문자열 무엇 이해 등
편집 :
def doc(docstr):
def deco(f):
if isinstance(f, type):
d = vars(f).copy()
d["__doc__"] = docstr
return type(f.__name__, f.__bases__, d)
f.__doc__ = docstr
return f
return deco
: 새로운 스타일의 클래스를 포함하려면,이 구현을 사용할 수 있습니다
__doc__
은 읽기 전용이므로 원하는 문서로 새 유형 객체를 만들어야합니다. 단순화를 위해 사용자 정의 메타 클래스는 고려하지 않습니다 (원하는 경우 type
을 위의 코드에서 f.__class__
로 바꿉니다).
이번에도이 데코레이터를 사용하지 않는 것이 좋습니다. 당신은 이미 귀하의 질문에 제안으로 다음과 같이
확실 :'#';-) 사용 – Tim
문서를 올바르게 추출 할 수있는 도구가있는 경우 유효한 대답입니다. :) –
당신은 파이썬의 곡식으로 작업하고 디자인과 싸우지 않기 위해 스스로 부탁 할 것입니다. 그냥 선생님 ;-) –