码迷,mamicode.com
首页 > 编程语言 > 详细

Python就业班——初识面向对象——练习——Car

时间:2020-07-14 18:39:42      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:汽车   成功   mat   调用   false   类方法   ==   python就业   odi   

 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

标签:汽车   成功   mat   调用   false   类方法   ==   python就业   odi   

原文地址:https://www.cnblogs.com/Harold-Hua/p/13300235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!