38行报错,不知道原因在哪

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)


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好。同学说的38行是如图所示位置吗?

http://img1.sycdn.imooc.com//climg/5e8ed1a10912fa7b05570144.jpg

老师这边运行同学的案例是此行出现问题,是因为此函数show__info()在类Vehicle中定义成了私有方法,实例属性无法访问,将其改成公有方法即可,去掉前面两个下划线,如:

http://img1.sycdn.imooc.com//climg/5e8ed167090961e013260108.jpg

代码中还有一处需要注意,所属类型变量是函数定义好的类属性rans_type,如:

http://img1.sycdn.imooc.com//climg/5e8ed285091db5a713820416.jpg

如果解决了你的疑惑,请采纳,祝学习愉快~ 

  • 白了个白果儿 提问者 #1
    还是不行啊Traceback (most recent call last): File "hello.py", line 38, in <module> tool_1.show_info() File "hello.py", line 9, in show_info print("我的所属类型为:{0},速度:{1}km/h,体积:{2}".format(self.trans_type,self.speed,self.size)) AttributeError: 'Vehicle' object has no attribute 'trans_type'
    2020-04-09 15:54:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师