<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_width(self, width, max_width):
 """ 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 """

        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