Курс 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. Установка и использование pyshorteners
  4. Работа с модулем random
  5. Создание вкладок с TKinter
  6. Python: библиотеки и функции
  7. Метод rlshift для битового сдвига
  8. Итераторы в Python
  9. Перехват исключений в Python
  10. Оптимизация создания строк
  11. Запуск внешнего кода в Jupyter
  12. Транспонирование матрицы
  13. Создание коллекций из выражения-генератора
  14. Определение наиболее частого элемента с помощью collections.Counter
  15. Оператор assert в Python
  16. Генераторы в Python
  17. Работа с файлами в Python
  18. Переопределение метода delitem в Python
  19. Получение локальных переменных в Python
  20. Работа с географическими данными в Python
  21. Разделение строки с помощью split()
  22. Профилирование кода на Python
  23. Логирование в Python
  24. Печать календаря в Python
  25. Округление дробей в Python
  26. Фильтрация входных данных в Python
  27. Модуль array: создание и использование массивов
  28. Просмотр файла в Jupyter Noteboo
  29. Обработка исключений в Python 3
  30. Принципы Zen Python
  31. Лямбда-функции в Python
  32. Метод ior для битовых операций
  33. Роль ключевого слова self
  34. Извлечение данных из JSON
  35. Освобождение памяти в Python
  36. Создание списка дат
  37. Генератор списка с условием if
  38. Улучшение читаемости кода в Python
  39. Делегирование в Python
  40. Декоратор для группы пользователей в Django
  41. Возврат нескольких значений
  42. Python Аргументы по умолчанию
  43. Операторы объединения в Python 3.9
  44. Извлечение статей с newspaper3k
  45. Перевод текста с Python Translator
  46. Навыки Python: строки, типы данных
  47. Работа с collections в Python
  48. Регистрация на TenChat

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