code: def _get_width(self, width, max_width):
          
          if isinstance(width, float):
              return int(max_width * width)
          if width == 0:
              width = (max_width - sum(self._spacing) -
                       sum([self._get_width(x, max_width) for x in self._columns if x != 0]))
          return width
docs: Helper function to figure out the actual column width from the various options.
  
          :param width: The size of column requested
          :param max_width: The maximum width allowed for this widget.
          :return: the integer width of the column in characters