Logo
내 게시판 만들기
파이썬

타입 검사 — mypy와 ruff

햇살이 | 2026.04.27 13:14:13
조회 17 | 추천 0

파이썬은 동적 타입 언어지만 「타입 힌트」(PEP 484)로 정적 검사를 받을 수 있습니다.

큰 코드베이스나 라이브러리는 타입 힌트 + 정적 검사가 사실상 표준이 되었습니다.



타입 힌트 기본.

def add(a: int, b: int) -> int: return a + b.

변수 — count: int = 0.

컨테이너 — names: list[str], scores: dict[str, int].

옵셔널 — name: str | None = None.



mypy — 정통 타입 검사기.

pip install mypy.

mypy myfile.py — 타입 힌트와 실제 사용의 불일치 검출.

없는 메서드 호출, 잘못된 타입 전달 같은 버그를 실행 전 발견.



ruff — 새로운 통합 도구(2023~).

Rust 기반의 압도적으로 빠른 linter + formatter + 타입 체커 일부.

flake8·black·isort·pyflakes를 한 번에.

최근 모든 프로젝트가 ruff로 이동 중.



Pyright·Pylance — Microsoft의 강력한 검사기.

VS Code의 Pylance가 이걸 사용.

mypy보다 빠르고 정확하다는 평.

결국 어느 도구를 쓰든 「타입 힌트로 버그 잡기 + 자동 완성 향상」이라는 효과는 동일.




한 줄 요약


타입 힌트는 def f(x: int) -> str 식.

mypy로 정적 검사, ruff로 통합 lint(매우 빠름), Pyright로 더 강력한 검사.

큰 프로젝트는 사실상 표준.




더 알아볼 것


- TypedDict — 딕셔너리 타입

- Protocol — 구조적 타입

- Generic — 제네릭 클래스

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
191 부엉이 26/04/27 14 0
190 곰돌이 26/04/27 17 0
189 부엉이 26/04/27 16 0
188 부엉이 26/04/27 15 0
187 멍뭉이 26/04/27 13 0
186 부엉이 26/04/27 14 0
185 햇살이 26/04/27 17 0
184 곰돌이 26/04/27 15 0
183 부엉이 26/04/27 13 0
182 멍뭉이 26/04/27 16 0
181 부엉이 26/04/27 14 0
180 야옹이 26/04/27 15 0
179 햇살이 26/04/27 18 0
178 야옹이 26/04/27 16 0
177 햇살이 26/04/27 16 0
176 너구리 26/04/27 14 0
175 멍뭉이 26/04/27 14 0
174 곰돌이 26/04/27 15 0
173 토순이 26/04/27 12 0
172 토순이 26/04/27 17 0
171 햇살이 26/04/27 14 0
170 멍뭉이 26/04/27 13 0
169 토순이 26/04/27 13 0
168 다람쥐 26/04/27 15 0
167 곰돌이 26/04/27 17 0
166 다람쥐 26/04/27 17 0
165 토순이 26/04/27 15 0
164 구름이 26/04/27 20 0
163 곰돌이 26/04/27 15 0
162 다람쥐 26/04/27 13 0
신고하기

신고 사유를 선택해 주세요.