티스토리 뷰
반응형
파이썬 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가 정의되어 있지 않았다면서 에러가 발생한다.
# 해결 방법
열심히 구글링해보니 해당 문제는 파이썬 3.7부터 __future__의 annotations를 import 해서 해결할 수 있다고 한다.
from __future__ import annotations
class Dollar(Money):
def __init__(self, amount: int):
self._amount: int = amount
def times(self, multiplier: int) -> Dollar:
return Dollar(self._amount * multiplier)
반응형
'Python > 클린코드' 카테고리의 다른 글
파이썬 타입 어노테이션 사용 방법 (0) | 2023.03.23 |
---|---|
파이썬 타입 어노테이션 (1) | 2023.03.21 |
댓글
공지사항