Курс 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. Использование defaultdict в Python
  3. Экспорт функций в Python
  4. Работа с argparse
  5. Функции all() и any() в Python
  6. Генератор чисел Фибоначчи
  7. Избегание циклических зависимостей классов в Python
  8. Возврат значений из генератора
  9. Повторение и перенос строки
  10. Аннотации типов в Python
  11. Перевод текста с Python Translator
  12. Строковое представление объектов
  13. Подписка на каналы разработчиков
  14. Работа с процессами в Python
  15. Управление доступом к модулю
  16. Работа с датой и временем в Python
  17. Объединение строк с помощью метода join
  18. Нарезка списков в Python
  19. Регулярные выражения в Python
  20. Экранирование символов в Python
  21. Возведение в квадрат с помощью itertools
  22. Проверка списка: any() и all()
  23. Деление в Python
  24. CSV строка разделение в Python
  25. Работа с пакетами
  26. Роль object и type в Python
  27. Асинхронный код в Python
  28. Проблема с изменяемыми аргументами
  29. Оператор is в Python
  30. Обновление и получение данных в SQLite
  31. Распаковка значений в Python
  32. Логирование с Loguru
  33. Генератор списка с условием if
  34. Печать календаря
  35. Автоматизация скриптов на AWS Lightsail.
  36. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  37. Установка и использование howdoi
  38. Константы в модуле cmath
  39. Принцип одной функции
  40. Установка и использование pyshorteners
  41. Хешируемые ключи в Python
  42. Обработка исключений в Python 3
  43. Метод matmul для умножения матриц
  44. Создание матрицы в Python

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