class Part:
    def __init__(self, name, mass):
        self.name = name
        self.mass = mass


class Spacecraft:
    def __init__(self, name):
        self.name = name
        self.parts = []      # each Spacecraft gets its own list

    def add_part(self, part):
        self.parts.append(part)

    def total_mass(self):
        return sum(part.mass for part in self.parts)

    def heaviest_part(self):
        if not self.parts:
            return None
        return max(self.parts, key=lambda p: p.mass)


sc = Spacecraft("Orion")
sc.add_part(Part("proptank", 1200.0))
sc.add_part(Part("engine", 450.0))
sc.add_part(Part("heat shield", 1600.0))

print(sc.total_mass())
print(sc.heaviest_part().name)

3250.0
heat shield