다음은 코드입니다.
class foo:
def __init__(self,p1,p2):
self.a1 = p1
self.a2 = p2
def main():
o1=foo("lucy","jack")
o2=foo('lucy','jack')
print(o1==o2)
main()
나는 o1과 o2가 다른 객체라는 것을 이해합니다. 저를 혼란스럽게하는 것은 그것들이 같은 가치를 가지고 있다는 것입니다. 그렇죠? 그리고 "=="는 두 개체의 값이 같은지 확인하는 데 사용됩니다. 맞죠? 내가 여기서 뭔가를 놓쳤나요?
동일한 객체를 모두 동일한 인스턴스 변수를 가진 객체로 정의하려면 각 변수를 테스트하는 코드를 작성하는 것보다 쉽습니다.
class foo:
def __init__(self,p1,p2):
self.a1 = p1
self.a2 = p2
def __eq__(self, other):
return self.__dict__ == other.__dict__
def main():
o1=foo("lucy","jack")
o2=foo('lucy','jack')
print(o1==o2)
main()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다