<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_obj_attr(cls, obj, path, pos):
 """Resolve one kwargsql expression for a given object and returns its result. :param obj: the object to evaluate :param path: the list of all kwargsql expression, including those previously evaluated. :param int pos: provides index of the expression to evaluate in the `path` parameter. """

        field = path[pos]
        if isinstance(obj, (dict, Mapping)):
            return obj[field], pos
        elif isinstance(obj, (list, Sequence)):
            join_operation = cls.SEQUENCE_OPERATIONS.get(field)
            if join_operation is not None:
                return (
                    AnySequenceResult(
                        cls._sequence_map(obj, path[pos + 1:]),
                        join_operation
                    ),
                    len(path) + 1,
                )
            else:
                return obj[int(field)], pos
        else:
            return getattr(obj, field, None), pos