Python: Почему консоль показывает мне ошибку и принимает аргументы? - PullRequest
0 голосов
/ 15 марта 2019

Я новый программист Python, и я практикую объектное программирование ... и у меня есть следующий код:

class Vehiculos():

def __int__(self, marca1, modelo1):

    self.marca = marca1
    self.modelo = modelo1
    self.enmarcha = False
    self.acelera = False
    self.frena = False

def arrancar(self):

    self.enmarcha = True

def acelerar(self):

    self.acelera = True

def frenar(self):

    self.frena = True

def estado(self):

    print("La marca es:", self.marca1)
    print("El modelo es: ", self.modelo1)

class Moto(Vehiculos):
pass

mimoto = Moto("BMW", "CR1")
mimoto.estado()

и консоль покажет мне:

Traceback (most recent call last):
File "herencia_new_file.py", line 31, in <module>
mimoto = Moto("BMW", "CR1")
TypeError: Moto() takes no arguments

Су, мне интересно, что не так? потому что я видел в курсе, что код и учитель работают отлично

1 Ответ

0 голосов
/ 15 марта 2019

Во-первых, у вас есть опечатка в __int__ (должно быть __init__), также у вас есть другая ошибка в методе estado, вы получаете доступ к атрибутам marca1 и modelo1, когда должны доступ marca и modelo:

class Vehiculos():
  def __init__(self, marca1, modelo1):
    self.marca = marca1
    self.modelo = modelo1
    self.enmarcha = False
    self.acelera = False
    self.frena = False

  def arrancar(self):
    self.enmarcha = True

  def acelerar(self):
    self.acelera = True

  def frenar(self):
    self.frena = True

  def estado(self):
    print("La marca es:", self.marca)
    print("El modelo es: ", self.modelo)

class Moto(Vehiculos):
  pass

mimoto = Moto("BMW", "CR1")
mimoto.estado()
"""
La marca es: BMW
El modelo es:  CR1
"""
...