내가 파이썬 클래스는 다음과 같은 방법으로 선언을 사용하여 파이썬에서 구조 필드를 문서화하는 방법 :스핑크스
class Foo(Structure):
_fields_ = [
("vr", c_double),
("vi", c_double),
("vm", c_float),
("va", c_float)]
그들은 내가 C DLL을 래핑하는
ctypes
을 사용하고 있기 때문에
Structure
의 서브 클래스
및 이들의 거울이다 C 구조체. 나는 이들에 대한 문서를 생성하는 방법을 이해할 수 없다. 자동 생성 된 문서는 매우 추악하고 쓸모가 없습니다. va Structure/Union member vi Structure/Union member vm Structure/Union member vr Structure/Union member
내가 어떻게 정의 할 수 있는지 알 수있는 사람이 있습니까?
나는 단지 _fields_
의 종류가 실제로 존재하지 않는다는 것을 분명히 밝히고 싶었습니다. ctypes
의 특수 기능은 C 구조체와 일직선으로 정렬 할 수있는 방법으로 멤버를 선언하는 방법을 제공합니다. 그래서 객체를 인스턴스화하는 경우 : foo = Foo()
그러면 나는 결코 평범한 인스턴스 변수로 선언 된 것처럼 _fields_
에 액세스하지 않고 멤버를 직접 액세스합니다. 위의 인스턴스를 사용하여 에 액세스하려면 print foo.vr
과 같은 작업을 수행합니다.
나를 위로 부추 기는 것은 그 변수에 대한 설명을 추가하고 싶습니다. 자동 생성은 구조체의 구성원이기 때문에 "구조체/조합 멤버"라고 부릅니다. 그러나 더 설명적이고 유용한 설명을 추가하려고합니다. 예를 들어, "vm"은 크기이고 "va"는 각도라는 주석을 추가하고 싶습니다.
을' Foo 클래스에는 docstring이 있어야합니다. 그 문서화 문자열에서'_fields_' 변수를 기술 할 수 있습니다. 아마도 단순히 그 정의를 축 어적으로 포함하는 것입니다. 그것이 내가 생각할 수있는 것입니다. – mzjn
감사합니다. 그것은 매우 합리적인 제안처럼 보입니다. 나는 그것을 시도 할 것입니다. – zaknotzach
"* 해당 변수에 대한 설명을 추가하고 싶습니다 *". 당신은 그것을 할 수 있고 나는 예제를 제공했다. 정확히 너를 위장하고있는거야? – mzjn