Error message that I get is as below:
PS C:Python Tutorials> & C:/Python311/python.exe "c:/Python Tutorials/C_and_O_Electric_Car.py" <bound method Car.get_descriptive_name of <__main__.ElectricCar object at 0x0000021A168CFC90>>
Source Code :
class Car: """A simple attempt to represent a car """ def __init__(self,make,model,year): 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 = f" {self.year} {self.make} {self.model}" return long_name.title() def read_odometer(self): """Print a statement showing the car's milage.""" print(f"This car has {self.odometer_reading} miles on it") def update_odometer(self, milage): """Set the odometer value to the given value Reject the change it it tries to roll the odometer back""" if milage > self.odometer_reading: self.odometer_reading = milage else: print("You cant rollback the odometer!") def increment_odometer(self,miles): """Add the give amount to the odometer reading""" self.odometer_reading += miles class ElectricCar(Car): def __init__(self, make, model, year): super().__init__(make,model,year) my_tesla = ElectricCar('Tesla','Model S', 2019) print(my_tesla.get_descriptive_name)
Advertisement
Answer
This is not an error. It’s printing the correct thing. What you are doing is not calling a function instead printing it as an object as in python everything is an object.
Solution:
print(my_tesla.get_descriptive_name())
This will print your desired output i.e “2019 Tesla Model S”