from datetime import datetime
class Car:
# Конструктор
def __init__(self, brand, model, year, speed):
self.brand = brand
self.model = model
self.year = year
self.speed = speed
# Увеличение скорости
def increase_speed(self, value):
self.speed += value
# Уменьшение скорости
def decrease_speed(self, value):
self.speed -= value
if self.speed < 0:
self.speed = 0
# Вывод информации (магический метод __str__)
def __str__(self):
return f"Автомобиль {self.brand} {self.model}, год выпуска — {self.year}, скорость — {self.speed} км/ч"
# Увеличение года выпуска на 1 (магический метод __pos__)
def __pos__(self):
self.year += 1
# Возраст автомобиля
def get_age(self):
return datetime.now().year - self.year
# Сравнение скорости двух автомобилей (операция >=, магический метод __ge__)
def __ge__(self, other):
return self.speed >= other.speed
# ===== Главная программа =====
# Создаём два автомобиля
car1 = Car("Toyota", "Camry", 2020, 120)
car2 = Car("BMW", "X5", 2018, 150)
# Вывод информации
print(car1)
print(car2)
# Увеличение и уменьшение скорости
car1.increase_speed(30)
print(f"\nПосле увеличения скорости: {car1}")
car1.decrease_speed(50)
print(f"После уменьшения скорости: {car1}")
# Увеличение года выпуска на 1
+car1 # магический метод __pos__
print(f"\nПосле увеличения года выпуска: {car1}")
# Возраст автомобиля
print(f"\nВозраст car1: {car1.get_age()} лет")
print(f"Возраст car2: {car2.get_age()} лет")
# Сравнение скорости (>=)
print(f"\nСкорость car1 >= скорости car2? {car1 >= car2}")
print(f"Скорость car2 >= скорости car1? {car2 >= car1}")