Курс 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"
- Работа с коллекциями Python
- Работа с модулем glob в Python
- Python 3.12: переиспользование кавычек
- Работа со стеком в Python
- Таймер обратного отсчета
- Изменение элемента списка
- Метод rsub в Python: расширение функциональности вычитания
- Python union() функция — объединение множеств
- Поиск подстроки в строке
- Утечки переменных цикла в Python 3.x
- Вложенные циклы в Python
- Библиотека Emoji: использование смайлов в Python
- Модуль sys: основы
- Создание объекта timedelta
- GitHub в Telegram: подписка на уведомления
- Замена подстроки
- Основные функции и модули Python
- Сглаживание списка
- Обратное распространение ошибки
- Анонимные функции Lambda
- Преобразование символов в нижний регистр
- Создание списков в Python
- Конвертация текстовых чисел с помощью Numerizer
- Применение функции к списку
- Удаление файлов и папок в Python
- Расширение информации об ошибке в Python
- Создание пустых функций и классов в Python
- Получение текущего времени в Python
- Работа с комплексными числами
- Реализация метода __abs__ в Python
- Удаление дубликатов из списка с помощью dict.fromkeys
- Генераторы в Python
- Описание скриптов в README
- Работа с исключениями в Python
- Методы list в Python
- Асинхронное программирование с asyncio
- Python itertools combinations() — группировка элементов
- Метод setitem в Python
- Отделение звука от видео
- Именованные срезы в Python
- Оптимизация интернирования строк
- Замена текста с re.sub()
- Установка и загрузка Instaloader
- Поиск HTML-элементов с BeautifulSoup
- Установка и использование Python-dateutil
- Многострочные комментарии в Python















