짧은하루
python typing (Tuple, Union, Optional 의미) 본문
코드를 짤 때 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
반응형
'Language > python' 카테고리의 다른 글
python 제너레이터와 yield, next, send 총 정리 (0) | 2021.09.24 |
---|---|
python dataframe loc, iloc 차이점 (pandas) (0) | 2021.09.23 |
python 가정 설정문 (assert) (0) | 2021.09.23 |
python 함수 return에 아무것도 없을 때 (0) | 2021.09.15 |
파이참(Pycharm) 코딩 스타일 적용하기 (구글 스타일) (0) | 2021.09.14 |
Comments