Курс 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. Протокол управления контекстом
  2. Удаление символа из строки
  3. Строковое представление объектов
  4. Транспонирование 2D-массива с помощью zip
  5. Работа с геоданными с помощью geopy
  6. Docstring в Python
  7. Декоратор проверки активности
  8. Хеширование паролей с использованием salt
  9. Создание итератора
  10. Декораторы в Python
  11. Описание скриптов в README
  12. f-строки в формате строк
  13. Декораторы в Python
  14. Псевдонимы в Python
  15. Доступ к локальным переменным
  16. Метод __irshift__ для Python
  17. split() — разделение строки
  18. Декораторы классов
  19. PrettyTable: создание таблицы
  20. Структурирование именованных констант
  21. Хешируемые ключи в Python
  22. Лямбда-функции в Python
  23. Функции min(), max(), sum()
  24. Обмен переменными в Jupyter
  25. Список переменных в Python
  26. Работа с deque из collections
  27. Codecademy в Telegram
  28. Аннотации типов в Python
  29. Отладка утечек памяти в Python
  30. Поиск подстроки в строке
  31. Реверс строки и списка в Python.
  32. Непрерывная проверка в Python
  33. Гибкие функции Python
  34. Разделение строки с помощью re.split()
  35. Возврат значений из генератора
  36. Обработка исключений в Python
  37. Тип CodeType в Python.
  38. Оператор += для объединения строк
  39. GitHub в Telegram: подписка на уведомления
  40. Определение основы слова с showballstemmer
  41. Проверка кортежей.
  42. Удаление элементов из списка в Python.
  43. Разделение списка на гнппы
  44. Оператор морж в Python 3.8
  45. Сложение матриц в NumPy
  46. Вывод символов строки в Python
  47. Ограничение итераций в Python
  48. Работа со строками в Python

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