38行报错,不知道原因在哪
class Vehicle(object):
# 自定义Vehicle类属性
rans_type='SUV'
def __init__(self,speed,size):
# 自定义实例方法show_info,打印实例的速度和体积
self.speed=int(speed)
self.size=tuple(size)
def __show__info(self):
print("我的所属类型为:{0},速度:{1}km/h,体积:{2}".format(self.trans_type,self.speed,self.size))
# 自定义实例方法move,打印“我已向前移动了50米”
def move (self):
print('我已向前移动了50米')
# 自定义实例方法set_speed,设置对应的速度值
def set_speed (self,new_speed):
self.speed=int(new_speed)
def get_speed(self):
print("我的时速为:{}km/h".format(self.speed))
# 自定义实例方法get_speed,打印当前的速度值
def speed_up(self):
self.up_speed=self.speed+15
print("我的速度由{0}km/h提升到了{1}km/h".format(self.speed,self.up_speed))
# 自定义实例方法speed_up,实现对实例的加速
def speed_down(self):
self.down_speed=self.speed-15
print("我的速度由{0}km/h下降到了{1}km/h".format(self.speed,self.down_speed))
# 自定义实例方法speed_down,实现对实例的减速
def transport_identify(self,a,b):
if isinstance(a,b)==True:
print('类型匹配')
else :
print('类型不匹配')
# 自定义实例方法transport_identify,实现对实例所属类型的判断
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.speed_up()
tool_1.set_speed(50)
tool_1.speed_down()
tool_1.transport_identify(tool_1, Vehicle)
正在回答
同学,你好。同学说的38行是如图所示位置吗?
老师这边运行同学的案例是此行出现问题,是因为此函数show__info()在类Vehicle中定义成了私有方法,实例属性无法访问,将其改成公有方法即可,去掉前面两个下划线,如:
代码中还有一处需要注意,所属类型变量是函数定义好的类属性rans_type,如:
如果解决了你的疑惑,请采纳,祝学习愉快~
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星