что такое DjangoRESTFramework и для чего используется?
Django REST Framework (DRF) - это популярный toolkit для создания REST API на Python с использованием фреймворка Django.
DRF широко используется для создания REST API среднего и крупного масштаба, которые нуждаются в гибкости, производительности и удобном интерфейсе для клиентов.
Среди основных преимуществ DRF:
- Поддерживает форматы з
запросов и ответов: JSON, YAML, Browsable API.
- Интегрируется с основными БД и позволяет быстро создавать сложные запросы.
- Автоматически генерирует интерактивную документацию для API в формате Swagger/OpenAPI.
Библиотека собеса по Python
DRF широко используется для создания REST API среднего и крупного масштаба, которые нуждаются в гибкости, производительности и удобном интерфейсе для клиентов.
Среди основных преимуществ DRF:
- Поддерживает форматы з
запросов и ответов: JSON, YAML, Browsable API.
- Интегрируется с основными БД и позволяет быстро создавать сложные запросы.
- Автоматически генерирует интерактивную документацию для API в формате Swagger/OpenAPI.
Библиотека собеса по Python
🔥1💯1
Как просмотреть методы объекта?
Для того чтобы увидеть все методы и атрибуты, связанные с конкретным объектом в Python, можно воспользоваться функцией dir(). Эта функция принимает объект в качестве аргумента и возвращает список имен всех его атрибутов и методов.
Библиотека собеса по Python
Библиотека собеса по Python
❤1👍1😁1
Что делает метод ljust()?
Делает длину строки не меньшей width, по необходимости заполняя последние символы символом fillchar.
Библиотека собеса по Python
Библиотека собеса по Python
❤1🎉1😍1
Почему NumPy предпочтительнее Matlab, Octave, Idl или Yorick?
NumPy — это высокопроизводительная библиотека с открытым исходным кодом, которая обеспечивает сложные математические и научные вычислительные возможности. Она использует язык Python, который является высокоуровневым, простым в изучении языком программирования общего назначения. Она поддерживает следующее:
✍🏻 Мощные функции для выполнения сложных математических операций с многомерными матрицами и массивами. ✍🏻 Операции с ndarrays NumPy примерно на 50% быстрее по сравнению с операциями с собственными списками с использованием циклов. Эта эффективность очень полезна, когда массивы содержат миллионы элементов.
✍🏻 Предоставляет синтаксис индексации для легкого доступа к частям данных в большом массиве.
✍🏻 Предоставляет встроенные функции, которые помогают легко выполнять операции, связанные с линейной алгеброй и статистикой.
✍🏻 Для выполнения сложных вычислений с использованием NumPy требуется всего несколько строк кода.
Библиотека собеса по Python
✍🏻 Мощные функции для выполнения сложных математических операций с многомерными матрицами и массивами. ✍🏻 Операции с ndarrays NumPy примерно на 50% быстрее по сравнению с операциями с собственными списками с использованием циклов. Эта эффективность очень полезна, когда массивы содержат миллионы элементов.
✍🏻 Предоставляет синтаксис индексации для легкого доступа к частям данных в большом массиве.
✍🏻 Предоставляет встроенные функции, которые помогают легко выполнять операции, связанные с линейной алгеброй и статистикой.
✍🏻 Для выполнения сложных вычислений с использованием NumPy требуется всего несколько строк кода.
Библиотека собеса по Python
🔥3❤1🎉1
Как найти корреляцию с помощью Pandas?
Метод Pandas dataframe.corr() используется для поиска корреляции всех столбцов dataframe. Он автоматически игнорирует любые отсутствующие или нечисловые значения.
DataFrame.corr()
Библиотека собеса по Python
Библиотека собеса по Python
👏1💯1
✍🏻 Как установить индекс в pandas dataFrame?
Мы можем установить индекс для фрейма данных Pandas с помощью метода set_index(), который используется для установки списка, серии или фрейма данных в качестве индекса датафрейма.
Библиотека собеса по Python
Мы можем установить индекс для фрейма данных Pandas с помощью метода set_index(), который используется для установки списка, серии или фрейма данных в качестве индекса датафрейма.
DataFrame.set_index('Column_Name')Библиотека собеса по Python
Что такое introspection?
Introspection — это способность программы анализировать свой собственный код во время выполнения. В Python это достигается с помощью функций, которые позволяют получить информацию о классах, функциях, переменных и модулях.
Одним из примеров использования introspection является динамическое создание объектов в Python. Например, если у вас есть класс, но вы не знаете имя этого класса во время написания кода, вы можете использовать функцию для получения класса по его имени во время выполнения программы.
Другой пример использования introspection — это определение типа объекта в Python. Для этого можно использовать функцию .
Библиотека собеса по Python
Одним из примеров использования introspection является динамическое создание объектов в Python. Например, если у вас есть класс, но вы не знаете имя этого класса во время написания кода, вы можете использовать функцию
getattr()Другой пример использования introspection — это определение типа объекта в Python. Для этого можно использовать функцию
type()Библиотека собеса по Python
This media is not supported in your browser
VIEW IN TELEGRAM
Включайте кружок там личное приглашение от спикера. 👆
Уже завтра в прямом эфире, разбираем архитектуру контекста в мультиагентных системах.
🤫 Секретный лут:
👉 Регистрируйтесь на трансляцию
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое декораторы с аргументами в Python, и как их можно использовать?
Декораторы с аргументами — это функции, которые принимают параметры и возвращают другой декоратор. Это позволяет создавать более гибкие и настраиваемые декораторы, которые могут изменять поведение функций в зависимости от переданных им аргументов.
🗣️ Пример:
🤖 Осталось 4 места на курс по ИИ-агентам. Набор закрывается 30 апреля.
🔗 Успеть на обучение
Библиотека собеса по Python
def repeat(times):
def decorator(func):
def wrapper(*args, **kwargs):
for _ in range(times):
result = func(*args, **kwargs)
return result
return wrapper
return decorator
@repeat(3)
def say_hello():
print("Hello!")
say_hello()
🔗
Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Осталось всего 4 места на курс по ИИ-агентам. 30 апреля закрываем набор окончательно.
В ГС честно рассказали:
— Кому курс не подойдет;
— Какой хардкор в программе (LangGraph, AutoGen, CrewAI);
— Как мы даем токены, чтобы вы не тратили свои деньги.
🏃♀️ Записаться, пока есть места
В ГС честно рассказали:
— Кому курс не подойдет;
— Какой хардкор в программе (LangGraph, AutoGen, CrewAI);
— Как мы даем токены, чтобы вы не тратили свои деньги.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что делать если нужно сериализовать данные, которые не поддерживаются стандартным модулем json?
Если нужно сериализовать объекты, которые по умолчанию не поддерживаются модулем json, то есть несколько вариантов:
— Реализовать методы getattr и setattr в классе объекта, чтобы преобразовать его в словарь, который уже можно сериализовать в JSON.
— Использовать декоратор dataclass из модуля dataclasses для автоматической генерации методов сериализации.
— Создать собственный класс-наследник json.JSONEncoder и переопределить метод default(), чтобы указать как сериализовать нестандартные объекты.
— Использовать библиотеку marshmallow для создания схем сериализации/десериализации сложных объектов в JSON.
— Преобразовать объекты в dict или list вручную перед сериализацией с помощью методов объекта или отражения (reflection).
— Использовать другой формат сериализации, например YAML или MessagePack, который может поддерживать произвольные типы.
Библиотека собеса по Python
Если нужно сериализовать объекты, которые по умолчанию не поддерживаются модулем json, то есть несколько вариантов:
— Реализовать методы getattr и setattr в классе объекта, чтобы преобразовать его в словарь, который уже можно сериализовать в JSON.
— Использовать декоратор dataclass из модуля dataclasses для автоматической генерации методов сериализации.
— Создать собственный класс-наследник json.JSONEncoder и переопределить метод default(), чтобы указать как сериализовать нестандартные объекты.
— Использовать библиотеку marshmallow для создания схем сериализации/десериализации сложных объектов в JSON.
— Преобразовать объекты в dict или list вручную перед сериализацией с помощью методов объекта или отражения (reflection).
— Использовать другой формат сериализации, например YAML или MessagePack, который может поддерживать произвольные типы.
Библиотека собеса по Python
❤1
Что такое dict comprehension?
Dict comprehension — это способ конструирования словарей в одну строку, аналогичный list comprehension.
Синтаксис dict comprehension: {ключ: значение for элемент in итерируемый_объект if условие}
Основные преимущества dict comprehension:
— Краткость и читабельность по сравнению с обычным циклом.
— Более высокая производительность за счет оптимизации.
— Удобство создания словарей «на лету» по данным.
Dict comprehension используется для:
— Преобразования данных из одного вида в другой.
— Создания словарей на основе списков или других итерируемых объектов.
— Фильтрации и обработки данных в процессе создания словаря.
🤖 Осталось 4 места на курс по ИИ-агентам. Набор закрывается 30 апреля.
🔗 Успеть на обучение
Библиотека собеса по Python
Синтаксис dict comprehension: {ключ: значение for элемент in итерируемый_объект if условие}
Основные преимущества dict comprehension:
— Краткость и читабельность по сравнению с обычным циклом.
— Более высокая производительность за счет оптимизации.
— Удобство создания словарей «на лету» по данным.
Dict comprehension используется для:
— Преобразования данных из одного вида в другой.
— Создания словарей на основе списков или других итерируемых объектов.
— Фильтрации и обработки данных в процессе создания словаря.
🔗
Библиотека собеса по Python
👍3
✍🏻 Для чего могут применять конструкцию try finally без except?
Конструкция try-finally без блока except может применяться в следующих случаях:
— Для закрытия файлов после работы с ними, даже если произошла ошибка.
— Для освобождения ресурсов, таких как сетевые соединения или блокировки.
— Для отмены каких-либо длительных операций или процессов в случае прерывания работы программы. Например, отмена запущенных потоков.
— Для логирования или уведомления о завершении блока кода, даже если в нем произошла ошибка.
— Для выполнения необходимой логики по завершении работы блока кода вне зависимости от результата, например сброс счетчиков.
Библиотека собеса по Python
— Для закрытия файлов после работы с ними, даже если произошла ошибка.
— Для освобождения ресурсов, таких как сетевые соединения или блокировки.
— Для отмены каких-либо длительных операций или процессов в случае прерывания работы программы. Например, отмена запущенных потоков.
— Для логирования или уведомления о завершении блока кода, даже если в нем произошла ошибка.
— Для выполнения необходимой логики по завершении работы блока кода вне зависимости от результата, например сброс счетчиков.
Библиотека собеса по Python
Что делает метод isalnum()?
Метод isalnum() — это строковый метод, который определяет, состоит ли строка исключительно из букв и/или цифр. Он возвращает True, если все символы в строке являются буквами или цифрами, и False в противном случае.
Метод isalnum() особенно полезен при проверке пользовательского ввода, когда необходимо удостовериться, что введенная строка содержит только буквы и цифры.
Библиотека собеса по Python
Метод isalnum() особенно полезен при проверке пользовательского ввода, когда необходимо удостовериться, что введенная строка содержит только буквы и цифры.
Библиотека собеса по Python
❤1
Что делает %s?
%s — это специальное поле форматирования, предназначенное для вставки строковых значений в другие строки и их форматирования. Оно является частью строкового форматирования, применяемого в функциях print(), str.format() и в старом стиле с использованием оператора %.
Библиотека собеса по Python
Библиотека собеса по Python
Что такое list comprehension?
List comprehension — это удобный способ создания списков за счет компактной записи.
Синтаксис list comprehension выглядит так: [выражение for элемент in итерируемый_объект if условие]
List comprehension позволяет за одну строку кода:
— Пройти циклом по итерируемому объекту.
— Отфильтровать элементы по нужному условию.
— Сформировать результирующий список.
По сравнению с обычным циклом, list comprehension более компактен, читабелен и эффективен.
Это идиоматичный прием, широко используемый для создания списков.
Библиотека собеса по Python
Синтаксис list comprehension выглядит так: [выражение for элемент in итерируемый_объект if условие]
List comprehension позволяет за одну строку кода:
— Пройти циклом по итерируемому объекту.
— Отфильтровать элементы по нужному условию.
— Сформировать результирующий список.
По сравнению с обычным циклом, list comprehension более компактен, читабелен и эффективен.
Это идиоматичный прием, широко используемый для создания списков.
Библиотека собеса по Python
Что такое ROC-кривая? Что такое AUC?
ROC-кривая — кривая рабочих характеристик (Receiver Operating Characteristics curve). Используется для анализа поведения классификаторов при различных пороговых значениях. Позволяет рассмотреть все пороговые значения для данного классификатора. Показывает долю ложно положительных примеров (англ. false positive rate, FPR) в сравнении с долей истинно положительных примеров (англ. true positive rate, TPR).
Или так: ROC-кривая — это кривая роста процента истинно позитивных результатов по мере роста процента ложных позитивных результатов. Полностью случайное предсказание будет изображаться прямой диагональной линией (черная штриховая линия на рисунке). Оптимальная модель будет как можно более близкой к оси y и к линии «y=1».
Одна из метрик того, насколько близка кривая ROC к этим линиям – AUC, или площадь под кривой (Area Under Curve). Чем выше AUC, тем лучше работает модель.
Библиотека собеса по Python
Или так: ROC-кривая — это кривая роста процента истинно позитивных результатов по мере роста процента ложных позитивных результатов. Полностью случайное предсказание будет изображаться прямой диагональной линией (черная штриховая линия на рисунке). Оптимальная модель будет как можно более близкой к оси y и к линии «y=1».
Одна из метрик того, насколько близка кривая ROC к этим линиям – AUC, или площадь под кривой (Area Under Curve). Чем выше AUC, тем лучше работает модель.
Библиотека собеса по Python
В продакшн случайно был задеплоен коммит с багом. Фикс уже готов, но нужно быстро откатить изменения, чтобы восстановить рабочее состояние. Какие у вас есть варианты действий и когда использовать каждый?
Можно использовать git revert, если нужно сохранить историю и явно зафиксировать отмену коммита (подходит для общих веток). Если баговый коммит ещё не попал в общий репозиторий, можно применить git reset --hard и перезаписать историю. Для сложных случаев — git cherry-pick нужных исправлений в стабильную ветку.
Библиотека собеса по Python
Библиотека собеса по Python
❤2👍1
В продакшене Python-сервис со временем начинает замедляться, хотя нагрузка остаётся стабильной. Мониторинг показывает рост памяти (memory leak). Как вы будете искать и устранять причину?
Использовать профайлеры (tracemalloc, objgraph, memory_profiler) для отслеживания утечек, проверить циклические ссылки и висящие ссылки на объекты (особенно в кэше или глобальных структурах), оптимизировать работу с коллекциями и сторонними библиотеками.
Библиотека собеса по Python
Библиотека собеса по Python
🦾 Почему ваши AI-продукты на базе LLM ломаются (и как это чинить)?
Выкатили ИИ-фичу в прод, а она галлюцинирует, падает или выдает мусор? Приглашаем на открытый вебинар, где разберем реальную боль внедрения LLM-агентов и научимся делать так, чтобы «всё работало».
🗓 Когда: 14 мая в 19:00 МСК
⏱️ Формат: 60 минут мяса + 30 минут ответов на ваши вопросы
🧑🏻💻 Кто вещает: Эмиль Сатаев — Backend Platform Developer (8+ лет в разработке). Человек, который своими руками внедряет LLM и агентные системы в реальные коммерческие сервисы.
🎁 Главный бонус для онлайна:
Только участникам прямого эфира подарим уникальный промокод на скидку 10.000 ₽ на большой курс AgentOps.
👉 Занять место на вебинаре
Выкатили ИИ-фичу в прод, а она галлюцинирует, падает или выдает мусор? Приглашаем на открытый вебинар, где разберем реальную боль внедрения LLM-агентов и научимся делать так, чтобы «всё работало».
🗓 Когда: 14 мая в 19:00 МСК
⏱️ Формат: 60 минут мяса + 30 минут ответов на ваши вопросы
🧑🏻💻 Кто вещает: Эмиль Сатаев — Backend Platform Developer (8+ лет в разработке). Человек, который своими руками внедряет LLM и агентные системы в реальные коммерческие сервисы.
🎁 Главный бонус для онлайна:
Только участникам прямого эфира подарим уникальный промокод на скидку 10.000 ₽ на большой курс AgentOps.
👉 Занять место на вебинаре