Python: 为什么控制台显示错误接受参数?
Python: Why the console show me an error take arguments?
我是一名新程序员 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
soo,我想知道怎么了?因为我在一门课程中看到代码和老师工作得很好
首先,你在__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
"""
我是一名新程序员 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
soo,我想知道怎么了?因为我在一门课程中看到代码和老师工作得很好
首先,你在__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
"""