인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

특별한 까치님의 프로필 이미지

작성한 질문수

실전! FastAPI 입문

(실습) ORM 적용 - POST API

왜 return타입이 ToDo라는 스트링인가요?

작성

·

49

0

안녕하세요.

항상 좋은 강의 감사드립니다.

수업을 듣던중 2:31경에 나오는 리턴타입을 왜 스트링으로 설정하는지 궁금해서 질문드립니다.

이상입니다. 감사합니다.

답변 2

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 특별한 까치님.

질문해주신 리턴 타입을 문자열로 설정하는 이유는 주로 “Forward Reference”라고 불리는 기능 때문입니다. 이 기능은 주로 타입 힌트를 사용할 때, 아직 정의되지 않은 클래스나 함수 등을 미리 사용할 수 있게 해주는 기법입니다.

예를 들어, 클래스 내부에서 자신의 인스턴스를 반환하는 메서드를 정의할 때 해당 클래스가 아직 완전히 정의되지 않았다면, def done(self) -> "Todo"처럼 문자열로 타입을 힌트하게 됩니다. 이렇게 하면 나중에 클래스가 완전히 정의되었을 때 Python 인터프리터가 올바르게 참조할 수 있습니다. 파이썬 3.7 이상 버전에서는 from __future__ import annotations를 사용하면 이러한 문자열 표기를 사용하지 않아도 되지만, 이전 버전이나 관습적인 코드에서는 여전히 이런 방법을 사용할 수 있습니다.

다른 유사한 질문과 답변을 참고하실 수 있는 링크를 제공해 드립니다:

  • 타입힌트 질문 - 타입 힌트를 문자열로 작성하는 이유와 관련된 댓글을 확인하세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

신동현님의 프로필 이미지
신동현
지식공유자

안녕하세요, 클래스 내부에서 자기 자신을 반환하는 메서드를 정의할 때, 해당 클래스가 아직 완전히 정의되지 않았기 때문에 타입 힌트에서 직접 사용할 수 없습니다. 이를 해결하기 위해 문자열로 감싸서("ClassName") 사용합니다.