Get if character (or character code point) is contained by any range on
        this range group.

        :param character: character or unicode code point to look for
        :type character: str or int
        :returns: True if character is contained by any range, False otherwise
        :rtype: bool

def has(self, character):
        '''
        Get if character (or character code point) is contained by any range on
        this range group.

        :param character: character or unicode code point to look for
        :type character: str or int
        :returns: True if character is contained by any range, False otherwise
        :rtype: bool
        '''
        if not self:
            return False
        character = character if isinstance(character, int) else ord(character)
        last = self[-1][-1]
        start, end = self[bisect.bisect_right(self, (character, last)) - 1]
        return start <= character < end