Курс 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. JSON-esque в Python
  3. Визуализация пропусков данных
  4. Управление доступом к модулю
  5. Лямбда-функции в Python
  6. Namedtuple в Python
  7. Преобразование вложенного списка
  8. CSV строка разделение в Python
  9. Метод join() с набором
  10. Flask — веб-фреймворк Python
  11. Оформление текста в консоли с TermColor
  12. Метод is_absolute() для PurePath
  13. Поиск анаграмм с Counter
  14. Работа с базами данных SQLite
  15. Преобразование текста в речь с Python
  16. Преобразование числа в восьмеричную строку
  17. Операторы += в Python
  18. Python defaultdict добавление ключа
  19. Транспонирование матрицы в Python
  20. Автоматизация действий с Pyautogui
  21. Логирование в Python
  22. Очистка данных с помощью pandas
  23. Философия Python
  24. Разделение строк в Python
  25. Модуль math: константы π и e
  26. Возврат нескольких значений
  27. Сравнение строк в Python
  28. Метод __complex__ в Python
  29. Итераторы в Python
  30. Работа с CSV файлами в Python
  31. Повторение элементов в Python
  32. Мощь вложенных функций в Python
  33. Методы и функции в Python
  34. Работа с комплексными числами в Python
  35. Транспонирование 2D-массива с помощью zip
  36. Создание пустых функций и классов в Python
  37. Работа с Event() в threading
  38. Python 3.12: переиспользование кавычек
  39. IPython и Jupyter Notebook: руководство
  40. Основы работы с os
  41. Конкатенация строк в Python
  42. Возврат значений из генератора
  43. Слияние словарей в Python 3.9
  44. Цепные операции в Python

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