파이썬으로 클래스를 생성한다고 가정하고, 클래스에 __cmp__
메소드를 정의하지 않았습니다. 이제 그 클래스의 인스턴스를 두 개 만들고이를 비교합니다. 파이썬은 어떤 cmp 메서드를 사용합니까? 난 코드를 실행하고 평등을 비교할 때 false를 반환합니다. 파이썬은 메모리 주소를 비교합니까?클래스에 __cmp__를 정의하지 않은 파이썬 객체 비교
class A(object):
def __init__(self, s):
self.s = s
def __str__(self):
return self.s
x1 = A("jim")
x2 = A("jim")
print x1 == x2
쉘은 말합니다 :
False
문서는'__le__','__lt__' 등의 메소드에서 아주 명확합니다. 뭘 물어 보는 거냐? 참고 http://docs.python.org/reference/datamodel.html#object.__lt__ –