Я читаю Python Crash Book и занимаюсь 9-й главой. Я пытаюсь запустить код дочернего класса "EletricCar", но оператор my_tesla.describe_battery () не работает. Я считаю, что это str в методе description_battery () не работает. Это сработало, когда я снял улицу.
Я вынул str в описании_батареи, и это сработало, но я не уверен, почему? ..
class Car():
"""A simple attemp to represent a car."""
def __init__(self, make, model, year):
"""Initialise attributes to describe a car."""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
"""Return a neatly formatted descriptive name."""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
print("This car has " + str(self.odometer_reading) + " miles on it.")
def update_odometer(self, mileage):
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self, miles):
"""Add the given amount to the odometer reading."""
self.odometer_reading += miles
class EletricCar(Car): #The name of the parent class must be included in the parantheses in the definition of the child class.
"""Represent aspects of a car, specific to eletric vehicles."""
def __Init__(self, make, model, year): #Takes in information required to make a Car instance.
"""Initialise attributes of the parent class."""
super().__init__(make, model, year)
self.battery_size = 70
def describe_battery(self):
print("This car has a " + str(self.battery_size) + "-kWh battery.")
my_tesla = EletricCar('tesla', 'model s', 2016)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()
Я ожидаю, что функция str будет работать для вывода сообщения.