python - Python - 从另一个 .py 文件导入类时遇到问题
问题描述
菜鸟问题我需要将以下内容拆分为两个不同的 .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
进口车
定义主():
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
推荐阅读
- r - 给定参考字符串中的坐标,从长参考字符串中拼接字符串
- python - 使用 Pyinstaller 时缺少 Numpy 所需的依赖项
- javascript - 覆盖 VanillaJS 中的默认 keydown 事件
- c++ - Stroustrup 代码审查 - 编程原理 - Ch - 4 - 问题:3 - 错误:向量下标超出范围
- c# - 来自具有不连贯帧的源的 NAudio 帧流
- java - Spark SQL (Java) - 加入 X 个文件的廉价方式?
- tensorflow - 使用 tf.import_graph_def 添加新的输入管道时如何避免图形重复?
- firefox - 让 Firefox 忘记网站是 https
- javascript - 随机播放数组中的键
- python - 程序给出给定字符串中所有潜在子串的列表,需要过滤掉不按字母顺序排列的子串