Как передать атрибуты в инит через метод класса?

Нужно создать класс Car с атрибутами model, price.

car1 = Car("Honda", 60000)

Как создать другой экземпляр через метод from_value

car2 = Car.from_value("Kia,100000")
car1.model ➞ Honda
car2.price ➞ 100000

Ответы (1 шт):

Автор решения: Xander
class Car:
    
    def __init__(self, model, price):
        self.model = model
        self.price = price
    
    @classmethod    
    def from_value(cls, value):
        model, price = value.split(',')
        return cls(model, int(price))
        

car1 = Car("Honda", 60000)
print(car1.model)  # Honda
print(car1.price)  # 60000

car2 = Car.from_value("Kia,100000")
print(car2.model)  # Kia
print(car2.price)  # 100000
→ Ссылка