Объект класса Python Родитель-ребенок - PullRequest
0 голосов
/ 02 ноября 2019

Я читаю 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 будет работать для вывода сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...