Курс 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. Описание скриптов в README
  3. Работа с массивами в Numpy
  4. Работа с рекламными данными в Pandas
  5. Метод count() для списков
  6. Оператор «not» в Python
  7. Сравнение def и lambda функций в Python
  8. Выход из профиля в Django
  9. Простой калькулятор Python
  10. Аннотации типов в Python
  11. Каналы Senior: Python, Java, Frontend, SQL, C++
  12. Глубокое копирование объектов
  13. Гибкие функции Python
  14. Функции высшего порядка в Python
  15. Присвоение значений переменным в Python
  16. Использование type hints
  17. Объединение итераторов
  18. Установка и использование модуля «howdoi»
  19. Функции высшего порядка в Python
  20. Декораторы в Python
  21. Генераторы и сеты в Python
  22. Функция enumerate() в Python
  23. Переопределение оператора % для объектов
  24. Перегрузка операторов в Python
  25. Вызов внешних программ в Python с помощью sh
  26. IPython и Jupyter Notebook: руководство
  27. Генераторы в Python
  28. Применение функции к списку
  29. Инициализация объекта
  30. F-строки в Python 3.8
  31. Импорт модулей в Python 3.12
  32. Раздувающийся словарь в Python
  33. Определение относительного пути
  34. Библиотека wikipedia для Python
  35. Методы split() и join() — Python строк.
  36. Обновление шаблона base.html
  37. Декораторы классов
  38. Упрощение условных выражений с тернарным оператором
  39. Управление IP-адресами через прокси
  40. Проверка однородности элементов списка
  41. Условное добавление элементов в список
  42. Проверка индексов коллекции
  43. Оператор == в Python
  44. Применение функции к списку
  45. Генераторы списков в Python

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