微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python - 如何访问 agggate 中的类对象属性对于该类的所有实例?

如何解决Python - 如何访问 agggate 中的类对象属性对于该类的所有实例?

我正在设计一个 Python 程序来模拟 3 辆以上汽车的车队。我为每辆车建立了一个具有特定属性功能的车辆类:

class Vehicle():
    
    def __init__(self,VIN,color,odometer):
        self.VIN = VIN
        self.color = color
        self.odometer = odometer
        
    # many other functions...

我的目标是访问“舰队”的参数并回答以下问题:

  1. 总共有多少辆车?
  2. 所有里程表(距离)的总和是多少?
  3. 有多少辆红色汽车?

我被推荐使用抽象基类,但不确定这是否是最好的方法? 回答这些问题的推荐方法是什么?谢谢。

我在下面创建了一个简单的尝试/模拟代码

class Fleet:
    def __init__(self,input_vehicles):
        "Pass list of vehicle objects to create fleet"
        self.vehicle_list = input_vehicles
        
    def size_total(self):
        "Answer how many vehicles"
        return len(self.vehicle_list)
    
    def size_by_color(self,selected_color):
        "Answer how many cars of a specific color"
        c = 0
        for v in self.vehicle_list:
            if v.color == selected_color:
                c = c + 1
        return c
    
    def total_odometer(self):
        "Answer the total odometer (distance) readings"
        od = 0
        for v in self.vehicle_list:
            od = od + v.odometer
            
        return od

# build vehicles
V1 = Vehicle('1','red',100)
V2 = Vehicle('2',3000)
V3 = Vehicle('3','blue',5)

# build fleet
myfleet = Fleet([V1,V2,V3])

# Get fleet metrics
myfleet.size_total()         # returns 3
myfleet.size_by_color('red') # returns 2
myfleet.total_odometer()     # returns 3105

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。