Noob问题我需要将以下内容分为两个不同的.py文件,并让第二个文件导入第一个文件以获取其信息。
我无法理解的问题是,当我将整个文件作为一个文件运行时,它可以正常工作。因此,如果我只是将其拆分并将类从一个导入到下一个,它是否应该工作?
运行test.py时出现的错误是NameError:未定义名称'Car'。在线mycar =汽车(年,品牌,型号)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#此文件名为car.py
Car: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())
#调用主函数
主要的()
当前,你正在导入module
命名car
文件(即文件名)。所以你需要改变你的代码才能使用car.Car(...)
或更常见的选项,将你的导入语句更改为:
from car import Car