개발언어 Back-End/Python
타입 힌트 Callable 그리고 여러 유형의 반환 값을 위한 Union
bluebamus
2023. 4. 9. 20:41
Callable이란?
Python의 타이핑 모듈에서 콜러블은 함수나 메서드를 나타내는 유형 힌트입니다. 호출 가능 유형 힌트는 함수 인수 또는 반환 값의 예상 유형을 지정하는 데 사용됩니다. 하나 이상의 형식 힌트를 인수로 사용하는 일반 형식 힌트로 정의됩니다.
예를 들어 정수를 받아들이고 문자열을 반환하는 함수인 두 개의 인수를 사용하는 함수를 지정하려는 경우 다음 구문을 사용할 수 있습니다.
from typing import Callable
def my_func(f1: Callable[[int], str], f2: Callable[[int], str]) -> str:
...
- [int]는 입력 인자 타입
- str은 return 인자 타입
- '-> str' 유형 힌트는 my_func 함수의 예상 반환 유형을 나타내는 데 사용됩니다. 이 경우 함수가 str 유형의 값을 반환해야 함을 나타냅니다.
- Callable[[int], str]의 str과 '-> str:' 의 타입은 동일해야 합니다.
Return 타입이 여러개인 경우
from typing import Callable, List, Union
def process_functions(funcs: List[Callable[[int], Union[str, int]]]) -> List[Union[str, int]]:
...
위의 코드에서 process_functions 함수는 함수 목록을 인수로 사용하며 각 함수는 int 인수를 사용하고 str 또는 int를 반환합니다. Union 유형 힌트는 각 함수의 반환 유형이 str 또는 int일 수 있고 함수 전체가 str 또는 int일 수 있는 값 목록을 반환함을 나타내는 데 사용됩니다.