Using decorators, add getter and setter methods to your Car class so you can view and change the color of your car. You should also add getter methods that let you view but not modify the car's model and year. Don't forget to write some tests.
When using GitHub mode, paste your repository URL below and click Save URL to store it. The saved URL will be automatically included with every message you send until you choose to clear it. Learn more
Using decorators, add getter and setter methods to your Car class so you can view and change the color of your car. You should also add getter methods that let you view but not modify the car's model and year. Don't forget to write some tests.
class Car:
def __init__(self, model, year, color):
#highlight
self._model = model
self._year = year
self.color = color # Uses color setter
#endhighlight
self.speed = 0
# Omitted code
#highlight
@property
def color(self):
return self._color
@color.setter
def color(self, color):
self._color = color
@property
def model(self):
return self._model
@property
def year(self):
return self._year
#endhighlight
# Omitted code
#highlight
print(f'My car is {lumina.color}.')
# My car is white.
print(f"My car's model is a {lumina.model}.")
# My car's model is a chevy lumina.
print(f"My car's year is {lumina.year}.")
# My car's year is 1997.
lumina.color = 'brown'
print(f'My car is now {lumina.color}.')
# My car is now brown.
lumina.year = 2023
# AttributeError: property 'year' of 'Car' object
# has no setter
#endhighlight
Hi! I'm LSBot. I can help you think through the selected exercise by giving you hints and guidance without revealing the solution. Your code from the editor will be automatically detected. Want to know more? Refer to the LSBot User Guide .
Submit your solution for LSBot review. Hi! I'm LSBot. Your code from the editor will be automatically detected. I'll review your solution and provide feedback to help you improve. Ask questions about your solution or request a comprehensive code review. Want to know more? Refer to the LSBot User Guide .