Курс 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. Оператор «not» в Python
  2. Функции range() в Python
  3. Проверка на истинность объектов в Python
  4. Применение функций в Python
  5. Генератор списка в Python
  6. Создание тестовых данных с Faker
  7. Класс UserDict: дополнительная функциональность
  8. Работа с модулем Calendar
  9. Операции с датами в Python
  10. Метод ifloordiv для пользовательских классов
  11. Форматирование строк в Python.
  12. Принципы программирования
  13. Переворот строки с использованием цикла
  14. Автоматизация действий с Pyautogui
  15. Обработка исключения UnboundLocalError
  16. Работа с изменяемыми списками
  17. Переменные в Python
  18. Нарезка списков в Python
  19. Применение функции к каждому элементу списка
  20. Оптимизация гиперпараметров в Python
  21. Перебор элементов списка в Python
  22. TypedDict для kwargs в Python 3.12
  23. Функция enumerate в Python
  24. Поиск элементов BeautifulSoup
  25. Метод enumerate() в Python
  26. Переворот списка в Python
  27. Тестирование функции сложения
  28. Декораторы в Python
  29. Работа с Requests для HTTP-запросов
  30. Codecademy в Telegram
  31. Сравнение строк в Python
  32. Метод ior для битовых операций
  33. Оператор del в Python
  34. Фильтрация входных данных в Python
  35. Объединение множеств в Python
  36. Работа с датой и временем в Python
  37. Создание спинбокса в tkinter
  38. Измерение времени выполнения кода
  39. Векторизация в Python с NumPy.
  40. Распаковка значений в Python
  41. Функция с *args.
  42. Изменение IP-адреса в Python
  43. Проверка окончания строки с помощью str.endswith()
  44. Сохранение Unicode в JSON
  45. Участие в LP стейкинге Waves
  46. Нахождение разницы между списками в Python
  47. Лямбда-функции в defaultdict

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