Курс Python → Проверка типа данных

При работе с текстовыми документами в специализированной базе, где каждый документ представлен текстом и его вектором в многомерном пространстве, часто возникает необходимость использовать библиотеки для обработки и анализа данных. Одной из таких библиотек является langchain, которая используется для поиска близких по смыслу предложений.

Когда мы запрашиваем у langchain список близких по смыслу предложений и получаем список документов res в преобразованном виде, каждый элемент этого списка может быть представлен в виде кортежа. В таких случаях использование блока try-except с обработкой AttributeError может быть неэффективным, так как тип данных задан автором библиотеки и не всегда ясно, какую ошибку обрабатывать в блоке except.

Вместо использования try-except AttributeError в данной ситуации, целесообразнее предварительно проверить тип данных и структуру возвращаемого значения, чтобы избежать ненужных исключений. Например, можно проверить, содержит ли каждый элемент списка res кортеж, прежде чем обращаться к его элементам.


# Пример проверки типа данных возвращаемого значения
if isinstance(res, list):
    for item in res:
        if isinstance(item, tuple):
            # обработка данных в кортеже
        else:
            # обработка данных в другом формате
else:
    # обработка данных в другом формате

Таким образом, вместо использования try-except AttributeError в ситуациях, когда тип данных задан автором библиотеки, более предпочтительным подходом может быть предварительная проверка структуры данных и использование соответствующих методов и операторов для обработки данных.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа с комплексными числами
  2. Установка и использование Python-dateutil
  3. Управление памятью в numpy.
  4. Python groupby() из itertools: работа с повторяющимися элементами
  5. Присвоение и ссылки
  6. Функция eval() в Python
  7. Профилирование данных с Pandas
  8. Условные выражения в Python
  9. Переопределение метода __or__()
  10. Настройка нарезки списков
  11. Взаимодействие с внешними процессами в Python
  12. Модуль math: константы π и e
  13. Ограничение итераций в Python
  14. Метод join() для объединения элементов
  15. Упрощение условных выражений с тернарным оператором
  16. Работа с SQLite в Python
  17. Обработка ошибок в Python
  18. Удаление пробелов методом translate()
  19. Участие в сообществе @selectel
  20. Закрытие файла в Python
  21. Преобразование в float
  22. Создание задания в Cron
  23. Метод eq для сравнения объектов
  24. Python и Юникод: работа с цифрами
  25. Оператор is в Python
  26. Форматирование строк с помощью f-строк
  27. Добавление цвета в консоли
  28. Поиск шаблона в строке
  29. Генератор списка в Python
  30. Работа с множествами в Python
  31. Объединение словарей в Python
  32. Хешируемые ключи в Python
  33. Объединение словарей в Python
  34. Обмен значений переменных в Python
  35. Управление ресурсами в Python
  36. Поиск HTML-элементов с BeautifulSoup
  37. Numpy: разбиение массивов
  38. Преобразование объекта в строку
  39. Сериализация данных в JSON с помощью json.dumps
  40. Подписка на каналы разработчиков
  41. Работа с типами данных в Python с помощью pydantic.
  42. Работа с процессами в Python
  43. Профилирование с Pandas
  44. Создание детектора плагиата
  45. Создание GUI на Tkinter
  46. Генераторы списков в Python

Marketello читают маркетологи из крутых компаний