mypy, pyright 을 이용한 정적 타입 검사
mypy, pyright 사용법은 아래 게시글과 연동됨을 알립니다.
참고 : 파이썬 typing module을 통한 타입 표기법 : https://jheaon.tistory.com/63
typing module (Type annotation and Typehint) 을 통한 가독성 좋은 코드 작성하기
Python은 동적 프로그래밍 언어이기 때문에 코드를 실행하면 해당 변수의 타입을 추론하여 체크한다. 변수의 타입은 정해져 있지 않기 때문에 개발자가 자유롭게 사용할 수 있다는 장점이 있지만
jheaon.tistory.com
mypy와 pyright
mypy와 pyright 모두 파이썬 타입 검사를 위해 만들어진 정적 타입 검사 도구이다. 두 개의 차이점을 들어보자면 아래와 같다.
- mypy : python에서 개발하는 공식 타입 체커
- pyright : microsoft에서 개발하는 타입 체커
각 정적 타입 검사 도구에 따라 장단점이 나뉘기 때문에 자신이 선호하는 것을 골라 사용하면 된다.
mypy 사용법
공식 문서 : https://mypy.readthedocs.io/en/stable/getting_started.html
Getting started - mypy 1.4.1 documentation
Previous Home
mypy.readthedocs.io
일단 pip 툴을 이용하여 mypy을 설치한다.
🖥️ terminal
pip install mypy
타입 체크를 원하는 파이썬 파일을 찾아 mypy 툴을 이용하여 실행한다.
🖥️ terminal
mypy program.py
mypy 경우에는 값을 출력해주진 않고 말 그대로 타입 에러가 어디에 있는지에 대해서만 알려주기 때문에 값을 출력하거나 반환하고 싶을 경우에는 && 을 이용하여 명령어를 붙여 사용하는 것을 권장하고 있다.
🖥️ terminal
mypy program.py && python program.py
pyright 사용법
공식 깃헙 : https://github.com/microsoft/pyright
GitHub - microsoft/pyright: Static Type Checker for Python
Static Type Checker for Python. Contribute to microsoft/pyright development by creating an account on GitHub.
github.com
공식 문서 : https://microsoft.github.io/pyright/#/installation
Pyright
microsoft.github.io
pyright 경우에는 visual studio code에서 extend로 지원하고 있으며, 해당 익스텐션을 깔아 사용하면 따로 설치를 할 필요 없이 해당 기능을 사용할 수 있다는 장점을 가지고 있다. 아래는 익스텐션으로 설치하지 않고 커멘드를 이용하여 설치하는 방법을 가이드하는 내용이다.
🖥️ terminal
pip install pyright
mypy와 마찬가지로 타입 체크를 원하는 파일에 pyright 툴을 이용하여 실행한다.
🖥️ terminal
pyright program.py
예전에는 NPM Package로 배포하고 있어서 npm 명령어를 사용하여 설치해주어야 했지만 현재는 pip로 배포가 된 상황이라 쉽게 pyright을 설치하여 사용할 수 있다.