Я хочу, чтобы иметь возможность вернуть успех, когда вызов метода преуспевает, но все же сможет вернуть код ошибки http, когда он терпит неудачу.Как вернуть логическое значение для успеха и по-прежнему включать код статуса http в python?
Очевидно, что единственное числовое значение, которое оценивается как False, равно 0, поэтому возвращение http-кодов как числовых значений будет оценивать все из них как истинные.
У меня создалось впечатление, что решение заключается в возврате объекта, который оценивается как истинный только для значений 200-2xx, и который также преобразуется в число, чтобы люди могли его сравнить.
Вы знаете кого-нибудь, у кого был подобный подход? - Мне не нравится идея делать исключения в этом случае.
Я думал об этом подходе, но, насколько мне известно, он не будет работать, потому что кортеж типа '(False, 401)' будет выглядеть как «True». – sorin
Вот почему вам нужно распаковать возвращенный кортеж, см. Второй фрагмент кода. Я не тестирую 'if some_function()', я тестирую 'success', что является значением * first * в возвращаемом кортеже. –
Если распаковка - это не то, что вы хотите сделать, вам нужен объект класса, который имеет репрезентацию вашего логического элемента и атрибут, содержащий ваш код состояния. –