1 #!/usr/bin/env python3 2 # coding=utf-8 3 # Version:python3.6.1 4 # Project:practice 5 # File:Vehicle.py 6 # Data:2020/7/11 15:54 7 # Author:LGSP_Harold 8 9 """ 10 编程练习 11 自定义一个交通工具类(Vehicle),并根据提示对该类进行进一步封 12 装,使其拥有工具类型、速度、体积等属性值。通过自定义实例方法 13 实现交通工具的前移、速度设置、获取当前速度、加速行驶、减速行 14 驶、实例信息展示、实例类型判别等功能。 15 16 任务 17 1、自定义一个交通工具类(Vehicle) 18 2、设置类属性trans_type(固定值为'SUV')和实例属性速度speed 19 (int 类型,单位为 km/h)、体积size(tuple类型,单位为米。) 20 3、自定义方法 show_info( ),打印实例的所属类型和速度、体积的 21 值; 22 4、自定义实例方法如下: 23 (1)定义move( )方法,实现打印“我已向前移动了50米” 24 (2)定义set_speed(new_speed)方法,设置对应实例的速度为ne 25 w_speed km/h 26 (3)定义get_speed()方法,如果(2)中设置了速度值则打印出 27 来,打印格式为'我的时速为:设置的速度值 km/h' 28 (4)定义speed_up()方法,设置每次调用时实例的速度都增加10k 29 m/h,并打印“我的速度由xx km/提升到了xx km/h” 30 (5)定义speed_down()方法,设置每次调用时实例的速度都降低 31 15km/h,并打印“我的速度由xx km/下降到了xx km/h” 32 33 5、自定义方法 transport_identify( ),判断实例是否为Vehicle类型。 34 若是则打印‘类型匹配’,反之则打印‘类型不匹配’ 35 6、初始化实例对象tool_1 36 37 任务提示 38 类的初始化方法中所传参数size是元组类型,直接传入实例的长, 39 宽,高即可,如size=(10,10,10) 40 """ 41 42 43 class Vehicle(object): 44 trans_type = 'SUV' 45 46 def __init__(self, speed, size): 47 self.speed = speed 48 self.size = size 49 50 def show_info(self): 51 print('我的类型{0},速度{1}km/h,体积{2}'.format(self.trans_type,self.speed, self.size)) 52 53 def move(self): 54 print('向前移动50米') 55 56 def set_speed(self, new_speed): 57 self.speed = new_speed 58 59 def get_speed(self): 60 print('我的速度:{0}km/h'.format(self.speed)) 61 62 def speed_up(self): 63 old_speed = self.speed 64 self.speed += 10 65 print('我的速度由{0}km/h提升到{1}km/h'.format(old_speed, self.speed)) 66 67 def speed_down(self): 68 old_speed = self.speed 69 self.speed -= 10 70 print('我的速度由{0}km/h下降到{1}km/h'.format(old_speed, self.speed)) 71 72 def transport_identify(self, obj, class_base): 73 if isinstance(obj, class_base): 74 print('类型匹配') 75 else: 76 print('类型不匹配') 77 78 79 if __name__ == '__main__': 80 tool_1 = Vehicle(20, (3.6, 1.9, 1.75,)) 81 tool_1.show_info() 82 tool_1.move() 83 tool_1.get_speed() 84 tool_1.speed_up() 85 tool_1.speed_up() 86 tool_1.speed_down() 87 tool_1.transport_identify(tool_1, Vehicle)