Как проверить, возвращает ли функция тот или иной тип данных в python

#python

#python

Вопрос:

У меня есть функция, которая должна возвращать списки, однако, если невозможно правильно преобразовать в показанной попытке, то это означает, что ввод неверен, и то, что я делаю, это возвращаю false здесь код:

 def objective_function(fo):
    min_or_max = 0
    piso = 5
    i = 5
    C = []
    index = []
    if fo[0 : 5] == "minz=":
        min_or_max = 1
    elif fo[0 : 5] == "maxz=":
        min_or_max = 2
    while i < len(term):
        if fo[i] == " " or fo[i] == "-":
            coefficient, j = separate_term(fo[piso : i])
            try:
                C.append(Fr(coefficient))
                index.append(int(j))
            except:
                return False
            piso = i
    print(C)
    return min_or_max, C
 

Что я хочу сделать, так это узнать, возвращает ли она false для печати («У нее ошибка»), и если нет, покажите два списка, которые она возвращает, как я бы это сделал?

Комментарии:

1. Вы не показали, как используется эта функция, но вы могли бы просто проверить правдивость: ret = objective_function(data); if ret: print("All good") else print("Error") .

2. Вы пытаетесь проверить тип данных объекта? Это может помочь isinstance

3. Если функция должна возвращать список, вызовите исключение, если вы не можете этого сделать. Это заставляет вызывающего абонента иметь дело с ошибкой, а не позволяет ему ошибочно предполагать, что возвращаемое значение является списком.

4. То, что я пытаюсь сделать, это часть, в которой я вызываю функцию и проверяю, что она возвращает, независимо от того, что я ей отправляю, я отправляю ей строку, и если все идет хорошо, она возвращает два списка, и если что-то пойдет не так, я получаю возвращает False

5. Я говорю, что если что-то пойдет не так, создайте исключение вместо возврата False . В противном случае ваш вызывающий может по ошибке попытаться использовать False в контексте, где им требуется ожидаемое возвращаемое значение, и они все равно получат новую ошибку.