Python:为什么控制台显示一个错误take arguments?

2024-10-03 00:27:44 发布

您现在位置: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

苏,我在想怎么了?因为我在一门课上看到了代码和老师的完美结合


Tags: 代码selffalsetruedefclassmotomodelo
1条回答
网友
1楼 · 发布于 2024-10-03 00:27:44

首先,您在__int__(应该是__init__)中有一个输入错误,另外,您在estado方法中有另一个错误,当您应该访问marcamodelo时,您正在访问属性marca1modelo1

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
"""

相关问题 更多 >