파이썬에서는 타입을 표시를 하지 않는다.
장점은 빠른 정의해서 사용할 수 있다는 장점이 있지만,
단점으로는 함수에 어떤 타입의 값이 들어가야 하는지 전혀 알 수 없다.
함수에 타입을 잘 못 넣어준다면, 오류가 발생할 수 있다. 따라서 아래와 같이 함수 입출력 타입을 지정 할 수 있다.
- 파이썬 3.5 버전 이상
def foo(n:int)->bool:
...
리스트인 경우 내부 요소의 type 또한 표시 할 수 있다.
from typing import *
def foo(strs:List[str])->List[str]
...
단, 파이썬에서는 타입 힌트만 보여둔다. 틀려도 오류가 발생하지 않는다.
a : str = 1
print(a)
# <class 'int'>
타입힌트가 잘못 된 걸 확인하고 싶을 땐,
$ pip install mypy
$ mypy solution.py
# type이 다르면, 오류 발생
# Reference
파이썬 알고리즘 인터뷰 https://github.com/onlybooks/algorithm-interview