как добавить единое тело ответа в ApiResponse

Это обычная конструкция на большинстве объектно-ориентированных языков, поддерживающих наследование. Когда дочерний класс (в вашем случае int ) наследуется от родителя (в вашем случае object ), говорят, что он имеет «is-a», отношения. То есть, int является (или an) object.

Это отношение «is-a» является тем, что проверяет isinstance . Из документов:

Возвращает true, если аргумент object является экземпляром аргумента classinfo или (прямой, косвенный или виртуальный) подкласс.

blockquote>

Существует аналогичная функция issubclass для проверки того же отношения для класса вместо экземпляра этого класса. Фактически, в большинстве случаев isinstance(x, y) == issubclass(type(x), y).

type возвращает точный класс, из которого был создан объект. Это означает, что проверка type(3) == object в точности эквивалентна проверке int == object. Надеюсь, вы увидите, что это однозначно неверно.

В отношении связанного касания классы всегда должны быть одной и той же ссылкой в ​​заданном пробеге интерпретатора, поэтому вы можете использовать is вместо == для сравнения , Таким образом, type(3) is int будет правдой. Вот как == реализовано для всех типов, с которыми вы когда-либо столкнетесь.

0
задан Jeel Vankhede 22 January 2019 в 13:07
поделиться