함수 반환 유형 및 인수 유형을 아는 방법은 무엇입니까?

| | | | | | | | | | | | | | |

Python의 덕 타이핑 개념을 알고 있으면서도 함수의 인수 유형이나 함수의 반환 값 유형에 어려움을 겪을 때가 있습니다.

이제 다음을 작성하면 함수 자체는 유형을 알고 있습니다. 그러나 누군가가 내 기능을 사용하고 호출하려는 경우 유형을 어떻게 알 것으로 예상됩니까? 나는 일반적으로 함수의 독스트링에 유형 정보를 넣습니다(예: "... id 인수는 정수여야 합니다...""... 함수는 ( string, [integer]) 튜플.")

하지만 docstring에서 정보를 조회하고(코더로서 정보를 거기에 넣는 것이) 실제로 수행되어야 하는 방식입니까?

편집: 대부분의 답변이 "예, 문서화하십시오!"로 향하는 것처럼 보이지만 "복잡한" 유형의 경우 이것이 항상 쉽지는 않습니다.
예를 들어 : 함수가 (node_id, node_name, uptime_minutes) 형식의 각 튜플과 함께 튜플 목록을 반환하고 요소가 각각 문자열, 문자열 및 정수라는 것을 독스트링에서 간단히 설명하는 방법은 무엇입니까?
독스트링 PEP 문서는 이에 대한 지침을 제공하지 않습니다.
반론은 이 경우 클래스를 사용해야 한다는 것입니다. 그러나 파이썬은 목록을 사용하여 이러한 것들을 전달할 수 있기 때문에 매우 유연하다고 생각합니다. 튜플, 즉 없는 수업.