타입힌트 실무에서 자주쓰이나요?
478
投稿した質問数 14
제가 아직 실무코드를 많이 못봐서그런데
장고나 flask는 보통 타입힌트가 없는데,
fastapi는 타입힌트를 적극적으로 쓰는 것같더라구요.
장고나 flask에서도 타입힌트 자주 쓰이나요?
回答 1
1
안녕하세요 딴라란따라란님 :)
타이핑을 자연스럽고 단단하게 사용하려면 해당 라이브러리나 프레임워크의 코드도 타이핑에 되어 있어야 합니다. (최근에 나온 오픈 소스들은 타이핑이 많이 되어 있습니다.) 하지만 django 코드는 타이핑이 안되어 있어 django에서 제공하는 함수나 클래스를 사용할때 타이핑 하는 것은 어렵습니다. 아래는 django 코드 중 일부입니다.
https://github.com/django/django/blob/main/django/core/servers/basehttp.py
django에서 타이핑을 할 수 있도록 도와주는 라이브러리가 있습니다. (아래 링크를 확인해주세요)
https://github.com/typeddjango/django-stubs
django와는 달리 fastapi 코드는 타이핑이 잘되어 있습니다. 아래는 fastapi 코드 중 일부입니다.
https://github.com/tiangolo/fastapi/blob/master/fastapi/encoders.py
flask 코드 또한 타이핑이 안되어 있습니다. 파이썬이 타이핑 및 타입힌트 문법을 도입한지가 얼마되지 않아서 적용이 안되어 있는 것입니다. fastapi는 최근에 개발된 프레임워크이다 보니 타이핑을 지원합니다.
사실 개인적으로 django 프레임워크는 철학상 타이핑을 하지 않는 것이 자연스럽다고 생각합니다. (물론 함수 단위에서는 타이핑을 하는 것이 좋아 보입니다.)
[django의 철학]
Django makes it easier to build better web apps more quickly and with less code.
타이핑을 하는 이유는 유지보수의 편의와 협업의 소통 비용 감소, 테스팅 비용 감소, 버그 감소 등 여러 장점이 있습니다.
따라서 flask와 django에서는 함수 단위로는 타이핑을 하는 것을 권장드립니다. 예를 들어 django의 경우 views.py 안의 뷰 함수(또는 뷰 클래스)에서 모델을 사용하는 것을 제외하고는 순수 데이터에 대해 타이핑을 할 수 있습니다. 이 경우 테스팅 할 때에도 편합니다. 즉, 할 수 있으면 최대한 하는 것이 좋다라는 것을 말하고 싶습니다.
타입힌트 및 타이핑은 파이썬이 제공해주는 좋은 도구라고 생각하시면 좋을 것 같습니다.
보너스 챕터 마지막 강의 녹화 품질이 문제가 있습니다ㅠㅠ
0
110
1
린터 설치문의
0
362
2
데이터분석에서의 가상환경
0
395
0
print(Robot.how_many()) 하면 None이 뜨는 이유
2
325
2
타입파이썬 문의
1
333
1
프레임워크 질문
1
234
1
문수미님과 같은 내용입니다
1
309
1
클래스 상속 순서? 질문
1
378
2
pip과pip3의 차이
1
2727
1
메서드 리턴 값이 print일 때 print를 찍으면 None
1
247
1
변수의 참조에 대해서 질문입니다.
1
242
1
질문입니다..
1
201
1
pyright 를 이용한 클래스 재정의 코드 실행 문제점 질문 드립니다.
1
445
1
which pyhon이 왜 안될까요..?
1
435
1
pyright 에러나서 질문드립니다.
1
392
1
클래스 변수 관련 질문입니다.
1
296
1
데코레이터 관련 질문
1
223
1
venv 로 만든 가상환경은 파이썬 버젼을 변경하기가 어려운 것 같습니다.
1
1108
1
Final로 타이핑한 변수에 list를 넣는다면
1
225
1
생성자에서 자기 자신 타이핑 하는 경우
1
217
1
f"{객체}" 출력값에서의 숫자값과 id(객체)에서의 숫자값의 차이가 무엇인가요??
1
331
1
스태틱메소드와 클래스메소드
3
261
1
인스턴스와 데이터
2
232
1
call method 관련 질문입니다!
1
188
1

