code: def cmyk(self):
          
          c, m, y = self.cmy
          k = min(c, m, y)
  
          # Handle division by zero in case of black = 1
          if k != 1:
              c = (c - k) / (1 - k)
              m = (m - k) / (1 - k)
              y = (y - k) / (1 - k)
          else:
              c, m, y = 1, 1, 1
  
          cmyk = (c, m, y, k)
  
          # Apply bound and return
          return tuple(map(lambda x: self._apply_float_bounds(x), cmyk))
docs: CMYK: all returned in range 0.0 - 1.0