-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
매직메소드 관련 질문입니다.
20.03.22 15:15 작성 조회수 93
0
def __add__(self,x):
return self._price + x._price
를 하면 선언한대로 두 가지 과일의 가격을 더하는 것은 알겠는데
세 가지 과일을 설정해서 가격을 모두 더하려고 s1+s2+s3를 해보니 에러가 뜨는데
3개 이상의 과일 가격을 더하려면 저 코드를 어떻게 수정해야 될까요??
답변을 작성해보세요.
0
novice
질문자2020.03.23
def __add__(self, *args):
print('Called >> __add__')
result=self._price
for x in args:
result=result+x._price
return result
더하는 개수를 정하지 않고 원하는만큼 더하고 싶어서 저렇게 코드를 작성해봤는데요
저렇게 하면 print(s1+s2+s3)처럼 +는 못 사용하고 __add__를 사용해야만 작동이 되던데 +를 써서 할 방법은 없을까요??
0
좋은사람
지식공유자2020.03.23
네 안녕하세요 .유현님
편하게 생각하시면 됩니다.
def __add__(self, x, y,z) 등으로 원하시는 객체 파라미터를 지정하셔서 사용하시면 됩니다.
답변 2