Language/python
python typing (Tuple, Union, Optional 의미)
짧은하루
2021. 9. 23. 18:29
코드를 짤 때 typing을 해주면 가독성이 증가합니다.
주로 사용하는 타입 힌트 몇가지를 소개합니다.
typing.Tuple
Tuple[X, Y]는 첫 번째 항목의 type이 X이고 두 번째 항목의 type이 Y인 두 항목의 튜플 형태를 나타냅니다.
예를 들어, Tuple[int, float, str]은 튜플의 첫번째 인자는 int, 두번째 인자는 float, 세번째 인자는 str 임을 의미합니다.
빈 튜플은 Tuple[()]로 쓸 수 있습니다.
typing.Union
Union[X, Y]는 X 또는 Y를 의미합니다.
예를 들어 Union[int, str] 형태로 사용 가능합니다.
typing.Optional
Optional[X]는 X 또는 None과 동일합니다 ( or Union[X, None]과 동일)
기본값이 정해지지 않은 파라미터에 사용하는 것이 적합합니다.
예를 들어, 아래 경우는 기본값을 갖기 때문에 Optional이 아니라 그냥 int가 적합합니다.
def foo(arg: int = 0):
하지만 만약 인자가 명시적인 None 값을 가지면 인자가 선택적인지와 관계없이 Optional을 사용하는 것이 적합합니다.
def foo(arg: Optional[int] = None):
더 많은 타입 힌트는 아래 문서를 참고해주세요.
https://docs.python.org/ko/3/library/typing.html#typing.Union
반응형