3
클래스에 사전 동작을 적용하려면 dict
또는 UserDict
에서 상속해야하는 이유는 무엇입니까?UserDict와 Dict간에 차이가 있습니까?
클래스에 사전 동작을 적용하려면 dict
또는 UserDict
에서 상속해야하는 이유는 무엇입니까?UserDict와 Dict간에 차이가 있습니까?
당신은 버전 2.2 또는 더 나은 파이썬에서 dict
에서 상속 할 수 있지만 관심의 모든 하나의 메소드 오버라이드 (override) 할 것 - 예를 들어, __getitem__
의 재정의 (override)가 get
에 의해 사용되지 것 또한하지 않는 한 그 중 하나를 재정의하는 식으로하는 식이다.
UserDict.DictMixin
믹스에 많이 더 거슬러 올라갑니다 당신은 몇 가지 방법을 구현할 수 있습니다 : 다른 방법이 혼합 된가 제공하는, 는 픽업 자신의 재정의를 사용합니다. the docs에서, 그러나 참고 :
파이썬 버전 2.6을 시작으로, 대신 DictMixin 의 collections.MutableMapping 를 사용하는 것이 좋습니다.
collections
모듈
새로운 상식 (추상 기본 클래스) 훨씬 좋은 오래된 UserDict.DictMixin
같은 장점, 넓은 적용, 더 많은 규칙이있다.
지원해야하는 Python 버전의 가장 낮은 공통 분모는 무엇입니까? –