Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
class Car:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year

    def get_make_and_model(self):
        return f'{self.make} {self.model}'

car = Car("Toyota", "Camry", 2020)
print(car.get_make_and_model())
# Output: Toyota Camry


Below is more advanced case:

Code Block
class Car:
    def __init__(self, make, model, year, speed=0):
        self.make = make
        self.model = model
        self.year = year
        self._speed = speed

    def __repr__(self):
        return f"{self.year} {self.make} {self.model}"

    def __str__(self):
        return f"{self.year} {self.make} {self.model} (speed: {self._speed} mph)"

    def accelerate(self, delta):
        self._speed += delta

    def brake(self, delta):
        self._speed = max(0, self._speed - delta)

    def speed(self):
        return self._speed

my_car = Car("Toyota", "Camry", 2020)
print(my_car)
my_car.accelerate(20)
print(my_car.speed())
my_car.brake(10)
print(my_car.speed())


The result will be like below:

Code Block
2020 Toyota Camry (speed: 0 mph)
20
10