老师,有需要优化的地方吗?
来源: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回答
同学你好:
同学的代码基本没有问题。
1 关于speed,同学可以使用一个局部变量将运算后的值接收,然后使用format进行格式化,之后在将这个局部变量的值重新赋值给self.speed,这时self.speed的值发生改变,在减速时直接调用改变后的speed即可。
2 format可以重复使用功一个变量,直接在{}中填写该变量的位置即可重复使用。
如果我解决了同学的问题,请采纳!学习愉快^_^。
qq__8359
提问者
2019-11-29
speed = int() #固定为int类型
speed = None #不固定类型
相似问题