• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

클래스에 관해서 질문드립니다.

21.06.10 14:22 작성 조회수 122

0

안녕하세요. 클래스에 관한 기초수업을 듣고 복습을 위해 아래 와 같은 코드를 작성햇는데 에러가 나는 부분이 있습니다. 한번 코드 리뷰 좀 부탁드립니다.class japan:

    species = '왜놈'

    def __init__(selfnamepopulationeconomy):
        self.name = name
        self.population = population
        self.economy = economy

    def foods(selfnameprice):
        self.name = name
        self.price = price


a = japan('tokyo''100만''우수')
print(a.__dict__)

b = a.foods('돈까스'1000)

여기서 문제가 일본에는 어떤 도시가 있고 그리고 음식은 어떤 것이 있는지 쓰고싶은데 foods라는 함수는 어떻게 실행시키는지 잘 모르겟습니다...

답변 1

답변을 작성해보세요.

0

웹도날드님의 프로필

웹도날드

2021.06.10

a = japan('tokyo', '100', '우수')

print(a.__dict__)

a.foods('돈까스', 1000)
b = a


print(b.__dict__)

##결과

{'name': 'tokyo', 'population': '100만', 'economy': '우수'} {'name': '돈까스', 'population': '100만', 'economy': '우수', 'price': 1000}

foods라는 함수는 잘 실행시키셨고요 그 함수를 실행시키면 a의 값이 변합니다. 하지만 foods 함수는 리턴값이 없기 때문이 그 결과를 b에다 넣으려고 해도 넣을 것이 없습니다. 굳이 b를 바꾸시겠다면 a의 food 함수를 써서 값을 바꾸고 a를 b에 대입하셔야 할 것입니다.

하지만 코드의 문제는 name이 'tokyo'에서 '돈까스'로 바뀐 부분도 있습니다. 음식 이름을 추가하고싶으시다면 foods 함수의 self.name = name을 self.foodname = name 등으로 바꾸는 것이 필요해 보입니다.