파이썬 init

조회수 981회
  • 각 차종마다 attribute로 최대 연료량, 기본 연비, 최대 탑재량(승용차는 사람, 트럭은 화물 무게, SUV는 사람+화물) 이 있음 :
    • 소나타 : 55리터, 12 km/l, 4명 (운전자 포함 X),
    • Tucson : 60리터, 10 km/l, 5명+500kg
    • Bongo : 55리터, 11 km/l, 700kg
    • Tesla_S : 450 kwh, 1 km/kwh, 5명
  • 객체를 instantiate할 때 (차를 빌릴 때) 아래와 같은 기준에서 시작합니다.
    • 신차일 경우에 mileage = 0, fuel(연료) = 최대 연료량 으로 시작
    • 신차가 아닐 경우 mileage = 50000, fuel(연료) = 최대 연료량의 30%로 시작

위와 같은 조건일 때 아래와 같이 코딩을 했는데 차를 빌린다는 것도 하나의 init안에 넣어야 하나요??(아직 신차와 신차가 아닐 때는 못했습니다.)


class Car():

    def max_fuel(self,maxfuel):
        self.maxfuel = maxfuel

    def fuel_economy(self,fueleconomy):
        self.fueleconomy = fueleconomy

class Sonata(Car):

    def max_passengers(self,maxpassengers):
        self.maxpassengers=maxpassengers

    def __init__(self,maxfuel,fueleconomy,maxpassengers):
        self.maxfuel = 55
        self.fueleconomy = 12
        self.maxpassengers = 4
    ```
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 넣느냐 넣지 않느냐는 어떤 식으로 코드를 구성할지에 따라 달라진다고 봅니다.

    첫 선택부터 신차인지, 신차가 아닌지 구분되게 하려면 넣어야 할 것이고, 이후 추가적인 작업으로 신차 여부를 구분할 것이라면 넣지 않아도 될 겁니다.

    • 감사합니다! 그럼 첫 선택부터 구분되게 하려고 하는데 if를 사용해서 코딩을 해야 하나요?? 알 수 없는 사용자 2021.6.1 13:18
    • 첫 선택부터 구분하려면 신차와 아닌것의 class를 각각 만들어도 되고, 신차 구분 변수를 init에 넣어 if문으로 해결할 수도 있을 것 같네요. ᅟᅟᅟᅟ 2021.6.1 13:38
    • 아아 감사합니다! 알 수 없는 사용자 2021.6.1 15:28

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)