저는 nxt-python이라는 python 패키지를 유지 관리하는 데 도움을줍니다. 메타 클래스를 사용하여 컨트롤 객체의 메서드를 정의합니다. 여기에 사용 가능한 기능을 정의하는 방법은 다음과 같습니다메서드의 docstring을 명시 적으로 설정합니다.
class _Meta(type):
'Metaclass which adds one method for each telegram opcode'
def __init__(cls, name, bases, dict):
super(_Meta, cls).__init__(name, bases, dict)
for opcode in OPCODES:
poll_func, parse_func = OPCODES[opcode]
m = _make_poller(opcode, poll_func, parse_func)
setattr(cls, poll_func.__name__, m)
내가이 추가 이러한 각 방법에 다른 문서화 문자열을 추가 할 수 있어야합니다. m은 _make_poller()에 의해 리턴 된 메소드이다. 어떤 아이디어? docstring 변경시 파이썬 제한을 해결할 수있는 방법이 있습니까? 일반 함수의
또한'_Meta과'dict' 인수에'_Meta' 생성자로 전달할 수 있습니다 (CLS, 이름, 염기, DICT = { '__ 문서 __' "" "문서화 문자열을" ""})' 'super' 호출 전에'dict.update ({ '__ doc __': "" "docstring" ""}})를 호출하십시오. 이제 네 가지 옵션이 있습니다. –