老师帮我看看这样子可以吗?

来源:1-7 编程练习

weixin_慕码人71622

2019-10-06 23:49:23


class Vehicle(object):
    """
    交通工具类
    """
    # 自定义Vehicle类属性
    tag = '交通工具'
    # 自定义实例的初始化方法

    def __init__(self, speed, size=(10, 10, 10), trans_type='SUV'):
        """

        :param speed: int km/h
        :param size: tuple 米
        :param trans_type: 类型
        """
        self.speed = speed
        self.size = size
        self.trans_type = trans_type
    # 自定义实例方法show_info,打印实例的速度和体积

    def show_info(self):
        """
        显示实例的速度和体积
        :return:
        """
        rest = "我的所属类型:{0},速度:{1},体积:{2}".format(self.trans_type, self.speed, self.size)
        print(rest)

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

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

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

    # 自定义实例方法speed_up,实现对实例的加速
    def speed_up(self):
        """
        对实例的加速
        :return:
        """
        old_rest = self.speed
        self.speed = self.speed + 10
        print("我的时速由{0}km/h提升到{1}km/h".format(old_rest, self.speed))

    # 自定义实例方法speed_down,实现对实例的减速
    def speed_down(self):
        """
        对实例的减速
        :return:
        """
        old_rest = self.speed
        self.speed = self.speed - 10
        print("我的时速由{0}km/h下降到{1}km/h".format(old_rest, self.speed))

    # 自定义实例方法transport_identify,实现对实例所属类型的判断
    def transport_identify(self, instance):
        print(isinstance(instance, Vehicle))


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.get_speed()
    # 调用实例方法 对实例进行减速
    tool_1.speed_down()
    tool_1.get_speed()
    # 调用实例方法 判断当前实例的类型
    tool_1.transport_identify(tool_1)


写回答

1回答

慕客yang

2019-10-08

同学你好,整体代码质量非常高,没有多大问题。

按照作业要求:设置类属性trans_type(固定值为'SUV')

trans_type题目要求为类属性。

因此构造方法:

trans_type=‘SUV’

同学可以优化下自己的代码如下所示:

# 自定义实例的初始化方法

def __init__(self, speed, size, trans_type):
   """
   :param speed: int km/h
   :param size: tuple 米
   :param trans_type: 类型
   """
   self.speed = speed
   self.size = size

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


0

0 学习 · 8160 问题

查看课程