为啥40和10行那里显示出错?
来源:1-7 编程练习
慕先生2341358
2020-07-14 22:09:21
class Vehicle(object):
# 自定义Vehicle类属性
trans_type = "SUV"
# 自定义实例的初始化方法
def __init__(self,speed,size):
self.__speed = speed
self.size = size
# 自定义实例方法show_info,打印实例的速度和体积
def show_info(self):
print("我的所属类型为:{0},我的时速为:{1},体积为:{2}".format(trans_type,self.__speed,self.size))
# 自定义实例方法move,打印“我已向前移动了50米”
def move(self):
print("我已经向前移动了50米")
# 自定义实例方法set_speed,设置对应的速度值
def set_speed(self,new_speed):
self.__speed = new_speed
# 自定义实例方法get_speed,打印当前的速度值
def get_speed(self):
print("我的时速为:{0}Km/h")
# 自定义实例方法speed_up,实现对实例的加速
def speed_up(self):
old_speed = self.__speed
self.__speed += 10
print("我的速度由{0}km/h提升到了{1}km/h".format(old_speed,self.__speed))
# 自定义实例方法speed_down,实现对实例的减速
def speed_down(self):
old_speed = self.__speed
self.__speed -= 15
print("我的速度由{0}km/h下降到了{1}km/h".format(old_speed,self.__speed))
# 自定义实例方法transport_identify,实现对实例所属类型的判断
def transport_identify(self):
if (isinstance(tool_1,Vehicle)) :
print ("类型匹配")
if __name__ == "__main__":
tool_1 = Vehicle(20, (3.6, 1.9, 1.75))
# 调用实例方法 打印实例的速度和体积
tool_1.show_info()
# 调用实例方法 实现实例的前移
tool_1.move()
tool_1.set_speed(40)
# 调用实例方法 打印当前速度
tool_1.get.speed()
# 调用实例方法 对实例进行加速
tool_1.speef_up()
# 调用实例方法 对实例进行减速
tool_1.speed_down()
# 调用实例方法 判断当前实例的类型
tool_1.transport_identify()
1回答
同学你好,报错第40行、第10行是因为,引用类的属性需使用self.trans_type
另外,同学提供的代码还有以下几点需要注意:
1. 第40行,同学在类中定义的方法是get_speed(),调用的时候也要使用同样的方法名
2. 类中定义的方法speed_up(),调用时同学误写成了speef_up()
如果我的回答解决了您的疑惑,请采纳,祝学习愉快~~~~
相似问题
回答 4
回答 2