일관성 검사를 추가하여 모델 구현을 향상시키고 싶습니다. (이 값은 음수 일 수 없으며,이 값은 None이 될 수 없습니다.)Python에서 모델 일관성을 구현하는 방법은 무엇입니까?
«Pythonic»이 추가되었는지 궁금합니다 일부«유형 확인»- 체크도합니다. 예를 들어, 제가 자동차에 넣은 물건이 실제로 SteeringWheel인지 확인하십시오.
가능한 한 빨리 오류를 잡기 위해 일종의 유형 검사를 수행하고 싶습니다. Car가 첫 번째 회전을 할 때가 아니라 (그리고 잘못된 지정을 찾을 때까지 자동차 사고로 디버깅을하는) 적절한 SteeringWheel을 추가했는지 알고 싶습니다.
필자는 파이썬의 오리 (duck) 유형 철학에서 유형 대신에 추가 된 객체의 속성이나 메소드를 검사하는 것이 더 많을 것이라고 읽었습니다. 나는이 원칙을 이해하고 있지만 모델이 주어진 객체가 정확한지 확인하기 위해 객체가 어떻게 사용될 것인지를 인식하고 모델과 컨트롤러간에 잘못된 의존성을 만들어야한다는 것을 의미합니다.
또한 어떤 속성을 테스트해야합니까? wheel.rotate()
은 SteeringWheel뿐만 아니라 타이어에도 적용 할 수 있습니다.
또 다른 방법은 AttributeError
또는 TypeError
에 대한 기대, 그대로 모델을 보자 시도 - 캐치에 의해 에게 모델 객체의 모든 사용을 포위하는 것, 그것은 매우 복잡 할 것이다.
어쩌면 내가 이것을 원한다고 잘못 생각한 것입니다. 누군가가 저에게 잘못된 생각을 가지고 있다는 것을 확신 할 수 있다면 제발하십시오. 그러나 내가 일관성을 잃을 때 오류를 발생시키는 모델을 원한다고 생각한다면 isinstance()
을 사용하는 것 이외의 다른 방법을 말해 줄 수 있습니까?
감사합니다.
아마도 관련 : http://stackoverflow.com/questions/1275646/python-3-and-static-typing – ch3ka
@ ch3ka 이것은 매우 흥미로운 글입니다. 나는 주석에 대해 몰랐다. – Mankalas