老师,有需要优化的地方吗?

来源:1-7 编程练习

qq__8359

2019-11-29 17:34:59



class Vehicle(object):
    # 自定义Vehicle类属性
    trans_type = "SUV"  # 车类型
    c_speed = "km/h"    # 速度单位
    # 自定义实例的初始化方法
    def __init__(self, speed=None, size=tuple()):
        self.speed = speed
        self.size = size

    # 自定义实例方法show_info,打印实例的速度和体积
    def show_info(self):
        print("我所属的类型为:{0},速度:{1}{2},体积:{3}".format(Vehicle.trans_type, self.speed, Vehicle.c_speed, self.size))

    # 自定义实例方法move,打印“我已向前移动了50米”
    def move(self):
        print("我已经向前移动了50米")

    # 自定义实例方法set_speed,设置对应的速度值
    def set_speed(self,speed):
        self.speed = speed

    # 自定义实例方法get_speed,打印当前的速度值
    def get_speed(self):
        print("我的时速为:{0}{1}".format(self.speed, Vehicle.c_speed))

    # 自定义实例方法speed_up,实现对实例的加速
    def speed_up(self):
        print("我的速度由{0}{1}提升到了{2}{3}".format(self.speed, Vehicle.c_speed,self.speed+10, Vehicle.c_speed))

    # 自定义实例方法speed_down,实现对实例的减速
    def speed_down(self):
        print("我的速度由{0}{1}提升到了{2}{3}".format(self.speed+10, Vehicle.c_speed,self.speed-5, Vehicle.c_speed))
    # 自定义实例方法transport_identify,实现对实例所属类型的判断
    def transport_identify(self):
        if Vehicle.transport_identify:
            print("类型匹配")
        else:
            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.speed_up()
    # 调用实例方法 对实例进行减速
    tool_1.speed_down()
    # 调用实例方法 判断当前实例的类型
    tool_1.transport_identify()



写回答

2回答

好帮手乔木

2019-11-29

同学你好:

同学的代码基本没有问题。

1  关于speed,同学可以使用一个局部变量将运算后的值接收,然后使用format进行格式化,之后在将这个局部变量的值重新赋值给self.speed,这时self.speed的值发生改变,在减速时直接调用改变后的speed即可。

2 format可以重复使用功一个变量,直接在{}中填写该变量的位置即可重复使用。http://img.mukewang.com/climg/5de0f0fd09d4374411720311.jpg

如果我解决了同学的问题,请采纳!学习愉快^_^。

1

qq__8359

提问者

2019-11-29

  speed = int()        #固定为int类型

speed = None    #不固定类型

0

0 学习 · 8160 问题

查看课程