Курс 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. UserList в Python: Описание и примеры использования
  2. Проблема с изменяемыми аргументами
  3. Проблемы с dict в Python
  4. Замена текста с помощью sub
  5. Создание файла с проверкой ошибки
  6. Изменения в обработке логических значений
  7. Асинхронное программирование с asyncio
  8. Использование двоеточия в Python
  9. Генерация случайных чисел в Python
  10. Обработка ошибок в Python
  11. Вакансии в Nebius
  12. Оптимизация интернирования строк
  13. Конвертация изображений в PDF
  14. Подсчет элементов в Python
  15. Метод repr() в Python
  16. Работа с процессами в Python
  17. Возврат нескольких значений
  18. Метод init в Python
  19. Работа с коллекциями Python
  20. Возврат нескольких значений из функции
  21. Работа с датами в Python
  22. Списковое включение в Python
  23. Измерение времени выполнения кода в Python
  24. Поиск email
  25. Операции с кортежами
  26. Создание OrderedDict
  27. Python: отличительная особенность — отступы
  28. Назначение максимального и минимального значения переменной в Python.
  29. Обработка исключений с блоком else
  30. Тестирование модели в PyTorch
  31. Получение значений из словарей
  32. Работа с парами ключ-значение
  33. Символ подчеркивания в Python
  34. Метод join() для объединения элементов
  35. Метод gt в Python
  36. Декораторы в Python
  37. Встраивание HTML в Jupyter Notebook
  38. Очистка данных с помощью pandas
  39. Моржовый оператор в Python 3.8
  40. Сохранение и загрузка модели в PyTorch
  41. Поиск шаблона в начале строки
  42. Методы работы со строками в Python
  43. Проблемы с именами переменных
  44. Удаление элемента из списка в Python
  45. Работа с эмодзи в Python
  46. Класс UserDict: дополнительная функциональность

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