Python 名称错误:名称';汽车';没有定义
不确定获取名称的原因错误:未定义名称“Automobile”。 也许有人在过去的20分钟里没有注意到这一点可以帮上忙。我开始认为可能是缩进,但还不太确定 vehicles.py:Python 名称错误:名称';汽车';没有定义,python,python-3.x,Python,Python 3.x,不确定获取名称的原因错误:未定义名称“Automobile”。 也许有人在过去的20分钟里没有注意到这一点可以帮上忙。我开始认为可能是缩进,但还不太确定 vehicles.py: class Automobile: def __init__(self, make, model, mileage, price): self.__make = make self.__model = model self.__mileage = mileage
class Automobile:
def __init__(self, make, model, mileage, price):
self.__make = make
self.__model = model
self.__mileage = mileage
self.__price = price
def set_make(self, make):
self.__make = make
def set_model(self, model):
self.__model = model
def set_mileage(self, mileage):
self.__mileage = mileage
def set_price(self, price):
self.__price = price
def get_make(self):
return self.__make
def get_model(self):
return self.__model
def get_mileage(self):
return self.__mileage
def get_price(self):
return self.__price
class Car(Automobile):
def __init__(self, make, model, mileage, price, doors):
Automobile.__init__(self, make, model, mileage, price)
self.__doors = doors
def set_doors(self, doors):
self.__doors = doors
def get_doors(self):
return self.__doors
car_demo.py:
import vehicles
def main():
used_car = vehicles.Car("Audi", 2007, 12500, 21500.00, 4)
print('Make:', used_car.get_make())
print('Model:', used_car.get_model())
print('Mileage:', used_car.get_mileage())
print('Price:', used_car.get_price())
print('# of doors:', used_car.get_doors())
main()
错误:
Traceback:
import vehicles, class Automobile:, and class Car(Automobile)
NameError: name 'Automobile' is not defined
我本以为将Automobile设置为一个类定义了“Automobile”
任何帮助都将不胜感激
我使用的是Python3.5.2 IDLE我假设您不是有意将
Car
类缩进Automobile
中。您应该将该类取消缩进一级,而不是:
Automobile.__init__(self, make, model, mileage, price)
你应使用:
super(Car, self).__init__(make, model, mileage, price)
如果您使用的是Python 3,您只需执行以下操作:
super().__init__(make, model, mileage, price)
我想您不是有意将
Car
类缩进Automobile
中。您应该将该类取消缩进一级,而不是:
Automobile.__init__(self, make, model, mileage, price)
你应使用:
super(Car, self).__init__(make, model, mileage, price)
如果您使用的是Python 3,您只需执行以下操作:
super().__init__(make, model, mileage, price)
尝试使用车辆导入汽车的
,然后访问汽车类别您的意思是在汽车内部缩进汽车类别吗?@Bobby No dice。仍然得到相同的错误。哪个错误?请包含完整的错误信息和回溯(或者这太容易了;-P)啊,并更正你问题中的缩进。@denvaar我现在真的很想把头发扯下来。我没听清楚。谢谢!尝试使用车辆导入汽车的,然后访问汽车类别您的意思是在汽车内部缩进汽车类别吗?@Bobby No dice。仍然得到相同的错误。哪个错误?请包含完整的错误信息和回溯(或者这太容易了;-P)啊,并更正你问题中的缩进。@denvaar我现在真的很想把头发扯下来。我没听清楚。谢谢!令人惊叹的。谢谢你的提示。实际上,考虑到它是Python 3代码,最好是:super()。没有argsuper
很好。@ShadowRanger感谢您的编辑。我在争论是否应该在代码块中进行回溯。看起来干净多了,太棒了。谢谢你的提示。实际上,考虑到它是Python 3代码,最好是:super()。没有argsuper
很好。@ShadowRanger感谢您的编辑。我在争论是否应该在代码块中进行回溯。看起来干净多了。