def _deserialize(data, klass):
    """Deserializes dict, list, str into an object.

    :param data: dict, list or str.
    :param klass: class literal, or string of class name.

    :return: object.
    """
    if data is None:
        return None

    if klass in six.integer_types or klass in (float, str, bool):
        return _deserialize_primitive(data, klass)
    elif klass == object:
        return _deserialize_object(data)
    elif klass == datetime.date:
        return deserialize_date(data)
    elif klass == datetime.datetime:
        return deserialize_datetime(data)
    elif type(klass) == typing.GenericMeta:
        if klass.__extra__ == list:
            return _deserialize_list(data, klass.__args__[0])
        if klass.__extra__ == dict:
            return _deserialize_dict(data, klass.__args__[1])
    else:
        return deserialize_model(data, klass)
def _deserialize ( data , klass ) : if data is None : return None if klass in six . integer_types or klass in ( float , str , bool ) : return _deserialize_primitive ( data , klass ) elif klass == object : return _deserialize_object ( data ) elif klass == datetime . date : return deserialize_date ( data ) elif klass == datetime . datetime : return deserialize_datetime ( data ) elif type ( klass ) == typing . GenericMeta : if klass . __extra__ == list : return _deserialize_list ( data , klass . __args__ [ 0 ] ) if klass . __extra__ == dict : return _deserialize_dict ( data , klass . __args__ [ 1 ] ) else : return deserialize_model ( data , klass )
Deserializes dict, list, str into an object.

    :param data: dict, list or str.
    :param klass: class literal, or string of class name.

    :return: object.