Python就业班——初识面向对象——练习——Car
Posted 嘆世殘者——華帥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python就业班——初识面向对象——练习——Car相关的知识,希望对你有一定的参考价值。
1 #!/usr/bin/env python3 2 # coding=utf-8 3 # Version:python3.6.1 4 # Project:practice 5 # File:Car.py 6 # Data:2020/7/13 17:37 7 # Author:LGSP_Harold 8 9 """ 10 根据Python中面向对象的相关知识,对客户车辆的基本信息进行录 11 入,并分析得出针对同类型的车辆进行合理保养的相关建议。 12 13 任务 14 1、自定义Car类,并重写其构造(初始化)方法__init__( ),将参数l, 15 w,h,brand赋值给实例对象的属性L,W,H,brand。设置类属性 16 description,以列表形式初始化值为:‘大众‘,‘丰田‘,‘广本‘,‘沃尔 17 沃‘, ‘凯迪拉克‘ 18 2、自定义该类实例方法modify_des ( )。功能:判断类属性descripti 19 on是否存在,若存在,直接返回;反之,返回“请输入您的车辆描 20 述” 21 3、自定义静态方法basic_parameters( )。功能:打印‘已完成车辆 22 基本参数信息的录入!’ 23 4、自定义类方法upkeep( ),并接收参数desc。功能:判断参数desc 24 是否在类属性description之中,若条件成立则打印“根据汽车保养的 25 相关经验,xx品牌的车应于5000km/次的频率进行专业性保养”;反 26 之则打印“非常抱歉!xx品牌不在我们的保养范围内” 27 5、实例化Car类对象car_1,并调用实例方法basic_parameters() 28 6、运用if-else结构,调用实例(car_1)方法modify_des( )作为if语 29 句的判断条件,若成立则调用实例的upkeep( )方法,并将实例car_1 30 的brand属性传递给参数desc;反之则打印:‘请正确填写相关的车辆 31 信息‘ 32 7、实例化Car类对象car_2,并调用实例方法basic_parameters() 33 8、运用if-else结构,调用实例(car_2)方法modify_des( )作为if语 34 句的判断条件,若成立则调用实例的upkeep( )方法,并将实例car_2 35 的brand属性传递给参数desc;反之则打印:‘请正确填写相关的车辆 36 信息‘ 37 38 任务提示 39 在自定义类方法upkeep( )时,为了在打印语句中成功获取车辆(实例 40 对象)的brand属性,需在upkeep( )设置一个参数desc接收传递的属 41 性。 42 """ 43 44 class Car(object): 45 46 description = [‘大众‘, ‘丰田‘, ‘广本‘, ‘沃尔沃‘, ‘凯迪拉克‘] 47 48 def __init__(self, l, w, h, brand): 49 self.L = l 50 self.W = w 51 self.H = h 52 self.brand = brand 53 54 def modify_des(self): 55 if hasattr(self, ‘description‘): 56 return True 57 else: 58 print(‘请输入您的车辆描述‘) 59 return False 60 61 @staticmethod 62 def basic_parameters(): 63 print(‘已经完成车辆基本参数信息的录入!‘) 64 65 66 @classmethod 67 def upkeep(cls, desc): 68 if desc in cls.description: 69 print(‘根据汽车保养的相关经验,{0}品牌的车应于5000km/次的频率进行专业性保养‘.format(desc)) 70 else: 71 print(‘抱歉,{0}不在我们保养的范围‘.format(desc)) 72 73 74 75 76 77 if __name__ == ‘__main__‘: 78 car = Car(1, 2, 3, ‘大众‘) 79 car.basic_parameters() 80 if not car.modify_des(): 81 print(‘请正确填写相关的车辆信息‘) 82 Car.upkeep(car.brand) 83 car_2 = Car(1, 2, 3, ‘小米‘) 84 car_2.basic_parameters() 85 if not car_2.modify_des(): 86 print(‘请正确填写相关的车辆信息‘) 87 Car.upkeep(car_2.brand) 88
以上是关于Python就业班——初识面向对象——练习——Car的主要内容,如果未能解决你的问题,请参考以下文章