【发布时间】:2020-11-29 06:28:27
【问题描述】:
菜鸟问题 我需要将以下内容拆分为两个不同的 .py 文件,并让第二个文件导入第一个文件以获取其信息。
我无法理解的问题是,当我将整个内容作为一个文件运行时,它可以正常工作。那么如果我只是拆分它并将类从一个导入到下一个,它不应该找到吗?
我在运行 test.py 时遇到的错误是 NameError: name 'Car' is not defined。在线 mycar = 汽车(年份、品牌、型号)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#这个文件名为car.py
类车: def init(自我、年份、品牌、速度):
self.__year_model = year
self.__make = make
self.__speed = 0
def set_year_model(self, year):
self.__year_model = year
def set_make(self, make):
self.__make = make
def set_speed(self, speed):
self.__speed = 0
def get_year_model(self):
return self.__year_model
def get_make(self):
return self.__make
def get_speed(self):
return self.__speed
#methods
def accelerate(self):
self.__speed +=5
def brake(self):
self.__speed -=5
def get_speed(self):
return self.__speed
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@
#这个文件名为test.py
进口车
def main():
year = input('Enter the car year: ')
make = input('Enter the car make: ')
speed = 0
mycar = Car(year, make, speed)
#Accelerate 5 times
mycar.accelerate()
print('The current speed is: ', mycar.get_speed())
mycar.accelerate()
print('The current speed is: ', mycar.get_speed())
mycar.accelerate()
print('The current speed is: ', mycar.get_speed())
mycar.accelerate()
print('The current speed is: ', mycar.get_speed())
mycar.accelerate()
print('The current speed is: ', mycar.get_speed())
#Brake 5 times
mycar.brake()
print('The current speed after brake is: ', mycar.get_speed())
mycar.brake()
print('The current speed after brake is: ', mycar.get_speed())
mycar.brake()
print('The current speed after brake is: ', mycar.get_speed())
mycar.brake()
print('The current speed after brake is: ', mycar.get_speed())
mycar.brake()
print('The current speed after brake is: ', mycar.get_speed())
#调用main函数
main()
【问题讨论】:
-
您导入了模块,但没有使用它。试试
from car import Car。否则你必须使用car.Car访问Car