파이썬 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
댓글 입력