Курс 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. Работа с модулем cmath
  3. Копирование объектов в Python
  4. Python OrderedDict и fromkeys() — работа с словарями
  5. Создание копии итератора
  6. Работа с модулем bisect
  7. Копирование словарей и списков в Python
  8. Python: цикл for и оператор присваивания
  9. Генерация фальшивых данных с Faker
  10. Документирование функций в Python
  11. Форматирование строк в Python
  12. Преобразование текста в речь с Python
  13. Метод classmethod
  14. Создание и удаление объектов
  15. *args и **kwargs в Python
  16. Переопределение метода __floordiv__
  17. HTTP-запросы с библиотекой Requests
  18. Сортировка с помощью параметра key
  19. Профилирование данных с Pandas.
  20. Структурирование именованных констант
  21. Принципы SRP и OCP
  22. Добавление цвета в консоли
  23. Капитализация строк
  24. PATCH-запрос с библиотекой requests
  25. Объединение множеств в Python
  26. Явный импорт в Python
  27. Создание и использование ChainMap
  28. Метод сравнения объектов в Python
  29. Функция enumerate() в Python
  30. Декораторы в Python
  31. Эффективная конкатенация строк в Python
  32. Enum в Python
  33. Метод matmul для умножения матриц
  34. Создание комплексных чисел
  35. Функция rsplit() в Python
  36. Сохранение и загрузка модели в PyTorch
  37. Роль запятой в Python
  38. Форматирование данных с помощью pprint
  39. Проверка подстроки в строке с помощью in
  40. Установка и использование библиотеки google
  41. Измерение времени выполнения кода
  42. Функция enumerate в Python
  43. Удаление элементов из списка

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