<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_val_str(obj, path_list=None, reverse=False):
 """Extract values from nested objects by attribute names and concatenate their string representations. Args: obj: object Any type of object path_list: list Attribute names reverse: bool Reverse the list of values before concatenation. Returns: str: Concatenated extracted values. """

    val_list = _get_val_list(obj, path_list or [], reverse)
    return "<not found>" if obj is None else " / ".join(map(str, val_list))