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     

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章