파이썬 3.9를 기준으로 파이썬 타입 어노테이션을 사용하는 방법에 대해서 알아보자. 이 문서는 공식문서를 바탕으로 만들었다. NewType Callable Generics Any NoReturn tuple Union Optional type Literal ClassVar Final AnyStr Protocol runtime_checkable NamedTuple TypedDict # 파이썬 타입 어노테이션을 적용하기 전에 확인해야 할 점 타입 어노테이션은 파이썬 3.5부터 추가가 되었다. 그리고 현제까지도 계속 관련 기능이 추가되고 있는 상황이다. 이 말은 곧 호환성을 고려해야 한다는 것이다. 특히 파이썬 3.9에서 많은 부분이 변경되었다. 그러므로 자신이 사용하는 파이썬 환경을 고려해서 어노테이션을 작성..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bUNl94/btr45jBaLvw/MkkFfqULKqx3dRbq0MvNhK/img.png)
파이썬의 타입 어노테이션(type annotation)에 대해서 알아보자. 타입 어노테이션에 대해서 알기 위해선 우선 파이썬의 특징을 잠시 알아하고 왜 타입 어노테이션이 필요한지 설명하겠다. # 파이썬은 동적 타입 언어다 a = 1 a = '1' 파이썬은 식별자에 값을 넣으면 아주 쉽게 변수를 만들 수 있다. 그리고 어떤 값이든 넣을 수 있다. 위에서 a에 int 타입인 1을 넣었고, 바로 str 타입인 '1'을 넣었다. 이렇게 식별자에 타입을 정하지 않고 실행 중에 타입을 확인하는 프로그래밍 언어를 동적 타입 언어라고 한다. # 파이썬은 덕 타이핑을 쉽게 할 수 있다 이런 동적 타입 언어의 기능으로 파이썬은 정말 쉽게 코드를 작성할 수 있게 된다. 예를 들어 다음은 컬렉션의 요소를 출력하는 함수다. d..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/54qo1/btr2FfAtwdW/tVHaC1tC13uK1A2NteEqQK/img.png)
파이썬 3.5부터 타입 힌트를 지원하기 위해서 어노테이션(annotation)이 추가되었다. 어노테이션을 이용해서 코드를 작성하던 중, 클래스의 메서드의 리턴 타입을 해당 클래스로 어노테이션으로 작성하니 에러가 났다. # 예제 코드 다음 코드에서 Dollar의 times 메서드는 Dollar를 리턴한다. class Dollar(Money): def __init__(self, amount: int): self._amount: int = amount def times(self, multiplier: int) -> Dollar: return Dollar(self._amount * multiplier) 하지만 vscode에서는 Dollar가 정의되어 있지 않았다면서 에러가 발생한다. # 해결 방법 열심히 구글링..