#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목2022-2H-00 10번 문제 부탁 드립니다.2024-06-06 22:45
작성자

문제


l 클래스:!MyDerivedClass!

l Base!클래스:!MyClass

l 메소드!이름:!메소드!이름을!아는!지의!여부도!문제의!일부임!

l 입력!파라메터:!MyDerivedClass!타입의!객체!

l Return!값:!MyDerivedClass!타입의!객체!

l 참조:!

ü 채점과정에서,!입력!파라메터는!MyDerivedClass!타입의!객체!만!전달할!것임!

ü 메소드는! +!연산자!사용시!호출됨!

ü 메소드는!내부적으로!저장하고!있는!딕셔너리!정보와!입력!파라메터로!전달받은!객체의!

딕셔너리!정보를!통합한!결과를! return함!

ü 통합과정에서,!이미!보관중인! key!값과!동일한! key!값을!입력!파라메터의!객체에서!발

견하면,!이미!보관중인! key!값의! value에!입력!파라메터로!전달받은!객체의! value를!

더하는!방식으로!처리함!

ü 통합과정에서,!기존!객체들의!정보는!변경되지!않으며,!통합된!결과는!새로운!

MyDerivedClass!타입의!객체에!저장하여! return!함!



질문


저는 아래와 같이 작성하였습니다. 

문제에서는 객체의 딕셔너리 정보를 통합한 결과를 return하라고 했으므로 newobject.dict를 return해야 하는 것 아닌가요??

왜 딕셔너리 정보를 통합한 결과를 객체에 저장하여 return하라고 했는데 왜 객체만 return해야 하는 것인지 궁금합니다.

    def __add__(self, object):
        new_dict = {}
        newobject = MyDerivedClass()
        new_dict = self.dict.copy()
        for key, value in object.dict.items():
            if key in new_dict:
                new_dict[key] += value
            else:
                new_dict[key] = value
        newobject.dict = new_dict
        return newobject.dict
댓글