inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! FastAPI 입문

(실습) ORM 적용 - POST API

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

해결된 질문

130

특별한 지렁이

작성한 질문수 39

0

안녕하세요.

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

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

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

python 리팩토링 orm FastAPI pytest

답변 2

0

인프런 AI 인턴

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

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

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

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

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

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

0

신동현

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

FasAPI Swagger UI에서 단일조회 todo_id 를 사용했는데, 입력값에 1을 넣으니 오류가 뜹니다 ㅠ

0

86

2

DB 질문

0

80

2

Post API 강의 질문

0

54

2

post 작성 오류

0

106

3

uvicorn 종료 문제

0

435

2

ORM 연관관계

0

109

2

Oracle DB 연결과 관련해 질문이 있습니다..

0

153

2

섹션 2, 3의 PATCH API의 차이점

0

132

1

ORM 테이블 생성

0

119

1

테스트 코드 오류

0

177

1

orm relationship 정의 중 해당 에러 발생 시 어떻게 고쳐야 하는걸까요

0

214

3

FastAPI 폴더 구조에 대해 질문이 있습니다.

0

407

2

질문 있습니다.

0

160

2

ORM 개념

0

133

1

mysql root 비밀번호 변경관련

0

294

2

[질문] patch API

0

151

3

디자인 패턴

0

128

1

main.py 리로드문제

0

235

2

인터프리터 오류

0

285

4

로그 저장에 대한 질문입니다.

0

100

1

Internal Server Error

0

239

2

PATCH API - 수정

0

198

2

파이참 임포트 문제

0

259

1

INFO sqlalchemy.engine.Engine ROLLBACK

0

215

1