Поскольку у вас есть уведомления из полученного вывода, keep
- это объект типа QueryURL
.Поскольку это пользовательский объект, созданный из уже определенного класса, в нем отсутствуют методы __repr__()
или __str__()
.Эти методы возвращают строку, которая представляет данные, хранящиеся в пользовательском классе.Если эти методы отсутствуют в вашем классе, функция print
печатает адрес, где объект хранится в памяти.
Уже существующие классы, такие как int
или str
, имеют свои __repr__()
уже определено.Следовательно, всякий раз, когда вы печатаете объект int
, вы просматриваете его значение, а не адрес.
Для решения этой проблемы вы можете использовать два метода:
- Все, что вам нужно определитьэто пользовательский метод, который печатает необходимые данные из объекта на консоль (или где-либо еще).Вы можете либо определить функцию вне класса, которая возвращает требуемую строку (нужную вам строку, содержащую данные объекта), и вызвать эту функцию внутри print, например:
print(functionWhichReturnsStringOfObject(Object))
, - Или простоотредактируйте определение класса и добавьте к нему метод
__repr__()
, который выполняет ту же функцию, что и функция выше.После этого вам просто нужно print(object)