Курс 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. Распаковка значений в Python
  2. Сериализация и десериализация объектов
  3. Обработка исключений в Python
  4. Измерение времени выполнения кода в Python
  5. Частичное применение функций в Python
  6. Переменная Шредингера
  7. Метод pop() списка
  8. Функции с необязательными аргументами
  9. Передача параметров в Python
  10. Генераторы в Python
  11. Работа с IP-адресами в Python
  12. Руководство по Pymorphy2
  13. Работа с Enum в Python3.
  14. Деление в Python
  15. Декоратор @override
  16. Перебор элементов списка в Python
  17. Defaultdict в Python
  18. Потоковый ввод в Python
  19. Документация функции help() в Python
  20. Работа с кортежами в Python
  21. globals и locals
  22. Создание даты из строки ISO
  23. JMESPath в Python
  24. Извлечение статей с newspaper3k
  25. Удаление ресурса в Python
  26. Замена текста с помощью sub
  27. Парсинг статей с Newspaper3k
  28. Форматирование строк с % в Python
  29. Объединение итераторов
  30. Асинхронное выполнение задач в Python
  31. Избегайте использования goto
  32. Отладка производительности Python
  33. Метод ipow для возведения в степень
  34. Подсказки типов в Python
  35. Создание инструмента обнаружения плагиата
  36. Справка по импортированным модулям
  37. Экранирование символов в Python
  38. Генерация случайных чисел Python
  39. Генерация фальшивых данных с Faker
  40. Оператор += для объединения строк
  41. Python Translator: создание локальных переводчиков
  42. Сортировка данных с лямбда-функциями
  43. Создание вложенных циклов for
  44. Преобразование числа в список цифр
  45. Python: отсутствие точек с запятыми

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