반응형
__ eq __
메서드를 재정의하려는 클래스가 있습니다. __ ne __
메서드도 재정의해야하는 것이 이해가되는 것 같지만 __ eq __
측면에서 __ ne __
를 구현하는 것이 합리적입니까? ?
class A:
def __init__(self, attr):
self.attr = attr
def __eq__(self, other):
return self.attr == other.attr
def __ne__(self, other):
return not self.__eq__(other)
아니면 파이썬이 이러한 방법을 사용하는 방식에서 빠진 것이 있는데 이것이 좋은 생각이 아닙니다.
해결 방법
묵시적 관계가 없습니다 among the comparison operators. The truth of
x==y
does not imply thatx!=y
is false. Accordingly, when defining__ eq __ ()
, 연산자가 예상대로 동작하도록__ ne __ ()
도 정의해야합니다.
많은 경우 (예 :이 경우) __ eq __
의 결과를 부정하는 것처럼 간단하지만 항상 그런 것은 아닙니다.
참조 페이지 https://stackoverflow.com/questions/4352244
반응형
'파이썬' 카테고리의 다른 글
파이썬 ImportError : 'django.core.urlresolvers'라는 모듈이 없습니다. (0) | 2020.10.22 |
---|---|
파이썬에서 작업 디렉토리를 어떻게 변경합니까? (0) | 2020.10.22 |
파이썬 Django의 objects.get을 처리하는 가장 좋은 방법은 무엇입니까? (0) | 2020.10.22 |
파이썬 pip install pickle이 작동하지 않음-해당 파일 또는 디렉토리가 없습니다. (0) | 2020.10.22 |
파이썬 두 개의 numpy 배열 병합 (0) | 2020.10.22 |
댓글