pyright 를 이용한 클래스 재정의 코드 실행 문제점 질문 드립니다.
445
1 asked
안녕하세요.
강사님.
먼저 재미있고 흡입력있게 파이썬 타입 강의를 진행해주신 것 같아 감사의 말씀 드립니다. ^^
제네릭 강의를 실습하다가 발견한 부분이 있어 질문을 드리고자 합니다.
위와 같이 2개의 클래스 정의를 하여
mypy 를 이용하여 python 실행을 하는 경우와 python 실행만 하는 경우는 정상적으로 코드 실행이 되지만
pyright 의 경우에는 아래처럼 MRO 관련한 오류 메시지가 출력이 되며 실행이 되지 않는 것을 확인 하였습니다.
error: Cannot create consistent method ordering
아래와 같이 실행을 하게 되면 정상적으로 pyright 도 실행이 되는 것을 확인 하였습니다.
pyright 를 사용하게 되면 자식클래스에 상속받는 부모클래스에서 처럼 명시적으로 생성자 타입을 정의를 하지 않아야 되는 PEP 가 존재하여 이를 준수하여 그리 되는 것인지 궁금합니다.
아래 문서등에서는 따로 명시적으로 관련 설명이 된 부분은 아직까진 찾지는 못하였습니다..
https://github.com/microsoft/pyright
https://www.python.org/dev/peps/pep-0544/
https://github.com/microsoft/pyright/blob/main/docs/type-concepts.md
실행환경은 아래와 같습니다.
pyright 1.1.215
python 3.9.1
mypy 0.931
아래는 pyright 를 함께 사용하여 실행 가능한 전체 실행 코드 입니다.
그럼 앞으로도 좋은 강의 부탁 드리며 22년 한해 새해 복 많이 받으세요.
감사합니다.
Answer 1
1
안녕하세요! 답변이 밀려 이제야 확인하네요 죄송합니다 ㅠㅠ
네 맞습니다! pyright는 해당 툴에서 정의된 PEP 규칙에 따라 타입 체킹이 달라지는 것입니다.
config 파일을 사용하여 원하는 방식으로 규칙을 수정할 수 있으니 참고하세요!
보너스 챕터 마지막 강의 녹화 품질이 문제가 있습니다ㅠㅠ
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
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
타입힌트 실무에서 자주쓰이나요?
2
478
1
스태틱메소드와 클래스메소드
3
261
1
인스턴스와 데이터
2
232
1
call method 관련 질문입니다!
1
188
1

