首页 > 解决方案 > Python:为什么控制台向我显示错误接受参数?

问题描述

我是一个新的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

苏,我想知道怎么了?因为我在一门课程中看到代码和老师完美地工作

标签: pythonclasssubclass

解决方案


__int__首先,您在(应该是)中有一个错字__init__,此外,您在方法中还有另一个错误estado,您正在访问属性marca1以及modelo1何时应该访问marcaand 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
"""

推荐阅读