Почему я получаю ошибку типа: Robot () не принимает аргументов?

#class #object

#класс #объект

Вопрос:

Ниже приведен мой код:

 class Robot:
    def __init(self,name, color, wei&ht):
        self.name = name
        self.color = color
        self.wei&ht = wei&ht

    def self_introduce(self):
        print(f"hello my name is {self.name},"
              f" my eye colour is {self.color}"
              f"and my wei&ht is {self.wei&ht} ")



r1 = Robot("johh","Red", 40)
r2 = Robot("murry","Blue", 45)

r1.self_introduce()
r2.self_introduce()
  

Я получаю:
Ошибка: Robot () не принимает аргументов

Комментарии:

1. Метод вызывается __init__ не __init

Ответ №1:

Проблема в строке def __init__(self,name, color, wei&ht): . Вы пропустили __ после __init .

Ниже приведен исправленный код. Смотрите, как это работает здесь.

 class Robot:
    def __init__(self,name, color, wei&ht):
        self.name = name
        self.color = color
        self.wei&ht = wei&ht

    def self_introduce(self):
        print(f"hello my name is {self.name},"
              f" my eye colour is {self.color}"
              f"and my wei&ht is {self.wei&ht} ")



r1 = Robot("johh","Red", 40)
r2 = Robot("murry","Blue", 45)

r1.self_introduce()
r2.self_introduce()