development

사용자 정의 클래스가있는 유형 힌트

big-blog 2020. 12. 25. 22:46
반응형

사용자 정의 클래스가있는 유형 힌트


확실한 답을 찾지 못한 것 같습니다. 함수에 대한 유형 힌트를 수행하고 유형은 내가 정의한 일부 사용자 정의 클래스 인 CustomClass().

그리고 어떤 함수에서 그것을 호출 해 봅시다 . FuncA(arg)라는 하나의 인수가 arg있습니다. 힌트를 입력하는 올바른 방법은 FuncA다음과 같습니다.

def FuncA(arg: CustomClass):

또는 다음과 같습니다.

def FuncA(Arg:Type[CustomClass]):?


전자는 올 경우, arg수용 의 인스턴스를CustomClass :

def FuncA(arg: CustomClass):
    #     ^ instance of CustomClass

클래스 CustomClass자체 (또는 하위 유형) 를 원하는 경우 다음과 같이 작성해야합니다.

from typing import Type  # you have to import Type

def FuncA(arg: Type[CustomClass]):
    #     ^ CustomClass (class object) itself

타이핑 에 대한 문서에 쓰여진 것처럼 :

class typing.Type(Generic[CT_co])

주석이 달린 변수 C는 유형 값을 허용 할 수 있습니다 C. 반대로, 가변 주석이 Type[C]자신있는 클래스 값을 허용 할 수있다 - 즉, 그것은 허용 할 클래스 개체C .

설명서에는 int클래스 의 예가 포함되어 있습니다 .

a = 3         # Has type 'int'
b = int       # Has type 'Type[int]'
c = type(a)   # Also has type 'Type[int]'

참조 URL : https://stackoverflow.com/questions/44664040/type-hints-with-user-defined-classes

반응형