TIL#152 Python Type Hint

Dasom·2021년 11월 3일
0

python

목록 보기
48/50

타입힌트는 파이썬 3.5버전에서 나왔다.
말 그대로 힌트일 뿐이고 사용하지 않거나 적혀진 것과 다른 자료형을 넣는다고 해도 에러가 발생하진 않는다.
하지만 타입 힌트를 사용하면 코드의 가독성을 높여주고 어떤 자료형을 넣어야 하는지 어떤 자료형이 반환되는지 명확하게 알 수 있다.

python 3.5 버전에서는 함수의 반환값만 지원이 되었었다.

def hello(name: str) -> str:
    return 'Hello' + name

python 3.6 버전에서는 변수에도 타입 힌트 표기가 가능해졌다.

def hello(name: str) -> str:
    result: str = 'Hello' + name
    return result

아래처럼 기존에 타입힌트를 사용하지 않을 때는 name의 자료형에 대해서 모른다. 타입힌트를 사용하면 자료형이 명확해지기 때문에 버그의 발생을 줄일 수 있다.

def hello(name):
    result = 'Hello' + name
    return result

int, str, float 같은 자료형은 타입 힌트를 적어주면 되지만, list, tuple, dict 자료형 같은 경우는 추가적인 정보가 필요하다. 어떤 type의 값들로 되어 있는지 명확하게 명시해주는 것이 좋다. typing 모듈을 사용하여 나타낼 수 있다.

from typing import Dict, List, Tuple

a: Dict[str, int] = {'a': 1, 'b': 3, 'e': 12}
b: List[bool] = [True, False, False]
c: Tuple[int, int, int] = (4, 1, 7)
  • list, tuple 상관없는 자료형이라면 Sequence 를 사용하면 된다. 하지만 웬만해서는 정확하고 통일성 있게 하는 것이 좋다.
  • 여러 type의 값을 가진 list 의 경우 List[Any], 또는 List[Union[str, int]] 같은 방식으로 쓸 수 있다.
profile
개발자꿈나무🌲

0개의 댓글