Курс 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"
- Работа с Colorama
- Вычисление логарифмов в Python
- Итерации в Python
- Поиск подстроки в строке
- Сравнение строк в Python
- Генераторные функции в Python
- Работа с изображениями Pillow
- Форматирование строк в Python
- Перевернуть список в Python
- Поиск частых элементов в списке
- Асинхронное программирование с asyncio
- Конвертация текстовых чисел с помощью Numerizer
- Поиск наиболее частого элемента в списке
- Автоматизация скриптов на AWS Lightsail.
- Просмотр внешних файлов в %pycat
- Применение функции к списку
- Деление в Python
- Библиотека sh: удобные команды терминала
- Отправка POST-запроса в REST API
- Применение функций в Python
- Область видимости переменных
- Фильтрация списка от «ложных» значений
- Замена символов в строке
- Переворот строки с помощью срезов
- Подписка на @SelectelNews
- Оператор space-invader
- Создание функций высшего порядка
- Разделение списка на гнппы
- Подсчет элементов в списке с Counter
- Хранение данных
- Генераторы в Python
- Работа с itertools
- Сортировка в Python
- Принципы Zen Python
- Работа с zip-архивами в Python
- Ключевое слово global в Python
- Создание новых списков в Python
- ChainMap избыточные ключи
- PATCH-запрос с библиотекой requests
- Создание словарей с defaultdict
- JSON в Python: модуль, dump, dumps, load
- Обработка исключений в Python
- Установка random seed в Python
- Работа с YAML в Python
- Объединение коллекций в Python
- Разделение строки с помощью re.split()
- Поток данных в Python
- Установка и использование pyshorteners















