class Volume:
    IMPERIAL_OZ_IN_LITER = 0.02841
    US_OZ_IN_LITER = 0.02957
    
    def __init__(self, *, liter=None, us_oz=None, imperial_oz=None):
        self._volume = 0
        if liter != None:
            self.set_liter(liter)
        if us_oz != None:
            self.set_us_oz(us_oz)
        if imperial_oz != None:
            self.set_imperial_oz(imperial_oz)

    def get_liter(self):
        return self._volume

    def set_liter(self, liter):
        self._volume = liter

    def get_imperial_oz(self):
        return self._volume / Volume.IMPERIAL_OZ_IN_LITER

    def get_us_oz(self):
        return self._volume / Volume.US_OZ_IN_LITER

    def set_imperial_oz(self, imperial_oz):
        self._volume = imperial_oz * Volume.IMPERIAL_OZ_IN_LITER

    def set_us_oz(self, us_oz):
        self._volume = us_oz * Volume.US_OZ_IN_LITER


v = Volume(us_oz=10, liter=1)
#v.set_imperial_oz(10)
#v.set_us_oz(10)
print(f'{v.get_liter() = }')
print(f'{v.get_imperial_oz() = }')
print(f'{v.get_us_oz() = }')


class Container(Volume):
    def __init__(self, material='unknown', liter=None, us_oz=None, imperial_oz=None):
        self.material = material
#        Volume.__init__(self, liter=liter, us_oz=us_oz, imperial_oz=imperial_oz)
        super().__init__(liter=liter, us_oz=us_oz, imperial_oz=imperial_oz)
