Курс 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. Работа с Colorama
  2. Вычисление логарифмов в Python
  3. Итерации в Python
  4. Поиск подстроки в строке
  5. Сравнение строк в Python
  6. Генераторные функции в Python
  7. Работа с изображениями Pillow
  8. Форматирование строк в Python
  9. Перевернуть список в Python
  10. Поиск частых элементов в списке
  11. Асинхронное программирование с asyncio
  12. Конвертация текстовых чисел с помощью Numerizer
  13. Поиск наиболее частого элемента в списке
  14. Автоматизация скриптов на AWS Lightsail.
  15. Просмотр внешних файлов в %pycat
  16. Применение функции к списку
  17. Деление в Python
  18. Библиотека sh: удобные команды терминала
  19. Отправка POST-запроса в REST API
  20. Применение функций в Python
  21. Область видимости переменных
  22. Фильтрация списка от «ложных» значений
  23. Замена символов в строке
  24. Переворот строки с помощью срезов
  25. Подписка на @SelectelNews
  26. Оператор space-invader
  27. Создание функций высшего порядка
  28. Разделение списка на гнппы
  29. Подсчет элементов в списке с Counter
  30. Хранение данных
  31. Генераторы в Python
  32. Работа с itertools
  33. Сортировка в Python
  34. Принципы Zen Python
  35. Работа с zip-архивами в Python
  36. Ключевое слово global в Python
  37. Создание новых списков в Python
  38. ChainMap избыточные ключи
  39. PATCH-запрос с библиотекой requests
  40. Создание словарей с defaultdict
  41. JSON в Python: модуль, dump, dumps, load
  42. Обработка исключений в Python
  43. Установка random seed в Python
  44. Работа с YAML в Python
  45. Объединение коллекций в Python
  46. Разделение строки с помощью re.split()
  47. Поток данных в Python
  48. Установка и использование pyshorteners

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