Forwarded from The Экономист
⚡️ Разыгрываем сразу 3 новеньких iPhone 16!
Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно:
1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать.
2. Нажать «Участвую!» под этим постом.
Итоги подведём 25 апреля в 18:00 случайным образом при помощи бота. Девайсы за свой счёт застрахуем и отправим победителям в любую точку мира. Всем удачи!
Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно:
1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать.
2. Нажать «Участвую!» под этим постом.
Итоги подведём 25 апреля в 18:00 случайным образом при помощи бота. Девайсы за свой счёт застрахуем и отправим победителям в любую точку мира. Всем удачи!
NumPy, часть 4: linalg
Теперь же мы приступим к более серьёзным вещам, которые есть в NumPy. Первый на очереди у нас модуль numpy.linalg, позволяющий делать многие операции из линейной алгебры.
Массивы большей размерности в большинстве функций linalg интерпретируются как набор из нескольких массивов нужной размерности. Таким образом, можно одним вызовом функции проделывать операции над несколькими объектами.
Разъяснивший Python
Теперь же мы приступим к более серьёзным вещам, которые есть в NumPy. Первый на очереди у нас модуль numpy.linalg, позволяющий делать многие операции из линейной алгебры.
Массивы большей размерности в большинстве функций linalg интерпретируются как набор из нескольких массивов нужной размерности. Таким образом, можно одним вызовом функции проделывать операции над несколькими объектами.
Разъяснивший Python
itertools.starmap
Разъяснивший Python
itertools.starmap
применяет функцию к элементам итерируемого объекта, распаковывая аргументы из кортежей. Это полезно для операций с несколькими аргументами без лямбд и циклов.Разъяснивший Python
Как элегантно обрабатывать ошибки в Python?
При написании кода часто возникают ситуации, когда что-то может пойти не так: файл не найден, данные невалидны или пользователь ввёл что-то не то. Новички часто боятся ошибок или пишут громоздкие конструкции, но Python предлагает удобный способ — блок try-except.
С помощью try-except можно перехватить исключения и аккуратно обработать их без аварийного завершения программы. Это улучшает стабильность кода и делает поведение более предсказуемым.
Итог:
try-except позволяет перехватывать ошибки.
Повышает надёжность и стабильность кода.
Удобно для пользовательского ввода, файлов, сетевых операций и др.
Разъяснивший Python
При написании кода часто возникают ситуации, когда что-то может пойти не так: файл не найден, данные невалидны или пользователь ввёл что-то не то. Новички часто боятся ошибок или пишут громоздкие конструкции, но Python предлагает удобный способ — блок try-except.
С помощью try-except можно перехватить исключения и аккуратно обработать их без аварийного завершения программы. Это улучшает стабильность кода и делает поведение более предсказуемым.
Итог:
try-except позволяет перехватывать ошибки.
Повышает надёжность и стабильность кода.
Удобно для пользовательского ввода, файлов, сетевых операций и др.
Разъяснивший Python
importlib.util.find_spec
Разъяснивший Python
importlib.util.find_spec
позволяет узнать, можно ли импортировать модуль, не загружая его. Это полезно для проверки наличия зависимостей, динамической загрузки и построения систем плагинов.Разъяснивший Python
Как присвоить несколько переменных в одну строку?
Иногда нужно сразу задать значения нескольким переменным. Новички делают это в несколько строк, что выглядит громоздко. Но Python поддерживает удобную конструкцию множественного присваивания — коротко, читаемо и эффективно!
С помощью этой фичи можно сразу задать значения, поменять переменные местами или распаковать кортеж — всё в одной строке.
Итог:
Множественное присваивание упрощает код.
Позволяет присваивать значения сразу нескольким переменным.
Удобно для обмена значениями и распаковки структур.
Разъяснивший Python
Иногда нужно сразу задать значения нескольким переменным. Новички делают это в несколько строк, что выглядит громоздко. Но Python поддерживает удобную конструкцию множественного присваивания — коротко, читаемо и эффективно!
С помощью этой фичи можно сразу задать значения, поменять переменные местами или распаковать кортеж — всё в одной строке.
Итог:
Множественное присваивание упрощает код.
Позволяет присваивать значения сразу нескольким переменным.
Удобно для обмена значениями и распаковки структур.
Разъяснивший Python
Дерево решений: Часть 1
Дерево решений — это модель, которая принимает решения, двигаясь по ветвям дерева от корня к листьям. На каждом узле происходит проверка: например, «если возраст > 30 — идём направо, иначе налево». Так шаг за шагом дерево делит данные на подгруппы, пока не придёт к финальному решению: в регрессии — числовое значение, в классификации — метка класса.
Модель выглядит почти как блок-схема, и ты можешь буквально прочитать, почему она приняла то или иное решение. В Python всё это делается через sklearn.tree.DecisionTreeClassifier или DecisionTreeRegressor.
Параметр max_depth — это ограничение на глубину дерева. Без него дерево может продолжать делиться, пока не переобучится подчистую. Всегда важно следить за глубиной, количеством листьев (max_leaf_nodes) и минимальным числом объектов в узле (min_samples_split) — это всё способы контроля переобучения.
Разъяснивший Python
Дерево решений — это модель, которая принимает решения, двигаясь по ветвям дерева от корня к листьям. На каждом узле происходит проверка: например, «если возраст > 30 — идём направо, иначе налево». Так шаг за шагом дерево делит данные на подгруппы, пока не придёт к финальному решению: в регрессии — числовое значение, в классификации — метка класса.
Модель выглядит почти как блок-схема, и ты можешь буквально прочитать, почему она приняла то или иное решение. В Python всё это делается через sklearn.tree.DecisionTreeClassifier или DecisionTreeRegressor.
Параметр max_depth — это ограничение на глубину дерева. Без него дерево может продолжать делиться, пока не переобучится подчистую. Всегда важно следить за глубиной, количеством листьев (max_leaf_nodes) и минимальным числом объектов в узле (min_samples_split) — это всё способы контроля переобучения.
Разъяснивший Python
YoutubeGO — мощный и простой в использовании инструмент для загрузки видео и аудио с YouTube и других платформ, поддерживающих HTTP-потоки.
С его помощью вы легко сохраните любимый контент для офлайн-просмотра
Ключевые возможности:
Поддержка множества платформ: Загружайте контент с YouTube, Vimeo и других сервисов.
Скачивание плейлистов: Сохраняйте целые плейлисты одним кликом.
Разнообразие форматов: Загружайте видео в MP4 и аудио в MP3 с автоматической конверсией.
Высокое разрешение: Поддержка до 8K, включая 4K, 2K, 1080p и другие.
Пакетная обработка: Управляйте очередью загрузок, приостанавливайте и возобновляйте их по необходимости.
Извлечение аудио: Получайте аудиодорожки из видеофайлов (требуется FFmpeg).
Drag & Drop интерфейс: Просто перетаскивайте ссылки для добавления в очередь загрузки.
Планировщик загрузок: Настраивайте загрузки на определенное время.
Кроссплатформенность: Полная поддержка Linux, macOS и Windows.
GitHub/Инструкция
Разъяснивший Python
С его помощью вы легко сохраните любимый контент для офлайн-просмотра
Ключевые возможности:
Поддержка множества платформ: Загружайте контент с YouTube, Vimeo и других сервисов.
Скачивание плейлистов: Сохраняйте целые плейлисты одним кликом.
Разнообразие форматов: Загружайте видео в MP4 и аудио в MP3 с автоматической конверсией.
Высокое разрешение: Поддержка до 8K, включая 4K, 2K, 1080p и другие.
Пакетная обработка: Управляйте очередью загрузок, приостанавливайте и возобновляйте их по необходимости.
Извлечение аудио: Получайте аудиодорожки из видеофайлов (требуется FFmpeg).
Drag & Drop интерфейс: Просто перетаскивайте ссылки для добавления в очередь загрузки.
Планировщик загрузок: Настраивайте загрузки на определенное время.
Кроссплатформенность: Полная поддержка Linux, macOS и Windows.
GitHub/Инструкция
Разъяснивший Python
Как упростить условные выражения в одну строку?
Иногда нужно выбрать значение в зависимости от условия. Новички используют полные конструкции
Он работает по формуле: результат_если_
Итог:
Тернарный оператор экономит место.
Упрощает простые условия.
Делает код чище и легче для чтения.
Разъяснивший Python
Иногда нужно выбрать значение в зависимости от условия. Новички используют полные конструкции
if-else
, даже для простых проверок. Это громоздко и плохо читается. Вместо этого можно использовать тернарный оператор — компактный способ записать условие в одну строку.Он работает по формуле: результат_если_
True if
условие else
результат_если_False
.Итог:
Тернарный оператор экономит место.
Упрощает простые условия.
Делает код чище и легче для чтения.
Разъяснивший Python
Зачем нужны кортежи, если есть списки?
На это есть несколько причин. Во первых, это защита от дурака. То есть кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
Во вторых, кортежи меньше размером чем списки. Это существенный плюс при работе с большими программами.
В третьих, это возможность использовать кортежи в качестве ключей словаря.
Разъяснивший Python
На это есть несколько причин. Во первых, это защита от дурака. То есть кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
Во вторых, кортежи меньше размером чем списки. Это существенный плюс при работе с большими программами.
В третьих, это возможность использовать кортежи в качестве ключей словаря.
Разъяснивший Python
The Экономист
⚡️ Разыгрываем сразу 3 новеньких iPhone 16! Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно: 1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать. 2. Нажать «Участвую!» под этим постом. …
Самое время подписаться на @economica, @mosbusy и @ruble30 и нажать «Учавствую!» под этим постом, если вы ещё этого не сделали. Результаты уже 25 апреля в 18:00!
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работать с кортежами?
Почему когда мы создаем кортеж из одного элемента нам выводит строку?
Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция, которая может быть отделена пробелами, переносом строк и прочим мусором.
Но все же не увлекайтесь, и ставьте скобки, тем более, что бывают случаи, когда скобки необходимы.
Еще можно создать кортеж из итерируемого объекта можно с помощью все той же пресловутой функции
Разъяснивший Python
Почему когда мы создаем кортеж из одного элемента нам выводит строку?
Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция, которая может быть отделена пробелами, переносом строк и прочим мусором.
Но все же не увлекайтесь, и ставьте скобки, тем более, что бывают случаи, когда скобки необходимы.
Еще можно создать кортеж из итерируемого объекта можно с помощью все той же пресловутой функции
tuple()
Разъяснивший Python
🧐 Ты когда-нибудь задумывался:
- Почему одни люди годами работают за 50 000 ₽, а другие через 2-3 месяца учёбы получают офферы на 150 000+?
- Как некоторые выходят на фриланс и выбирают проекты, а не ждут, пока их наймут?
- Почему в IT даже новички могут позволить себе переезд в другую страну или ипотеку со льготной ставкой?
Ответ прост: они выбрали правильное направление с самого начала.
SkillFactory знает, как это сделать. Не гадайте на кофейной гуще — пройдите точный тест из 18 вопросов, который уже помог 10 000+ человек:
☑️ 5 минут — и алгоритм покажет, какая IT- или дизайн-специальность подходит именно вам.
☑️ Бесплатно — сразу после теста: карьерный гайд + разбор ваших сильных сторон.
☑️ Без воды — только актуальные профессии 2025 года с реальными зарплатами.
👉 "Но разве можно выбрать профессию за 5 минут?"
Можно, если вопросов ровно столько, чтобы отсечь всё лишнее. Попробуйте — ссылка на тест.
Реклама. Информация о рекламодателе по ссылкам в посте.
- Почему одни люди годами работают за 50 000 ₽, а другие через 2-3 месяца учёбы получают офферы на 150 000+?
- Как некоторые выходят на фриланс и выбирают проекты, а не ждут, пока их наймут?
- Почему в IT даже новички могут позволить себе переезд в другую страну или ипотеку со льготной ставкой?
Ответ прост: они выбрали правильное направление с самого начала.
SkillFactory знает, как это сделать. Не гадайте на кофейной гуще — пройдите точный тест из 18 вопросов, который уже помог 10 000+ человек:
☑️ 5 минут — и алгоритм покажет, какая IT- или дизайн-специальность подходит именно вам.
☑️ Бесплатно — сразу после теста: карьерный гайд + разбор ваших сильных сторон.
☑️ Без воды — только актуальные профессии 2025 года с реальными зарплатами.
👉 "Но разве можно выбрать профессию за 5 минут?"
Можно, если вопросов ровно столько, чтобы отсечь всё лишнее. Попробуйте — ссылка на тест.
Реклама. Информация о рекламодателе по ссылкам в посте.
builtins.exec
Разъяснивший Python
exec
выполняет переданный код в виде строки как Python-скрипт. Это полезно для генерации и исполнения динамического кода, создания DSL или запуска кода из внешних источников (например, конфигураций).Разъяснивший Python
Дерево решений: Часть 2
Алгоритм деления работает по принципу максимизации чистоты внутри подмножеств. В классификации чаще всего используется Gini impurity или энтропия: они показывают, насколько хорошо разделились классы после сплита. В регрессии — снижение дисперсии (variance reduction). На каждом шаге дерево перебирает все признаки и находит такое условие, которое максимально эффективно делит выборку на две группы с минимальной “грязью”.
Однако у данного алгоритма есть некоторые недостатки. Деревья легко переобучаются, особенно если не ограничивать глубину. Они могут давать нестабильные результаты при небольшом изменении данных (особенно одиночные деревья). Чтобы побороть эти минусы, придумали ансамбли — такие как Random Forest и Gradient Boosting, где используется много деревьев сразу, и это даёт намного более стабильный и мощный результат.
Разъяснивший Python
Алгоритм деления работает по принципу максимизации чистоты внутри подмножеств. В классификации чаще всего используется Gini impurity или энтропия: они показывают, насколько хорошо разделились классы после сплита. В регрессии — снижение дисперсии (variance reduction). На каждом шаге дерево перебирает все признаки и находит такое условие, которое максимально эффективно делит выборку на две группы с минимальной “грязью”.
Однако у данного алгоритма есть некоторые недостатки. Деревья легко переобучаются, особенно если не ограничивать глубину. Они могут давать нестабильные результаты при небольшом изменении данных (особенно одиночные деревья). Чтобы побороть эти минусы, придумали ансамбли — такие как Random Forest и Gradient Boosting, где используется много деревьев сразу, и это даёт намного более стабильный и мощный результат.
Разъяснивший Python
👍1
В 2025 году на кодинге уже не вывезешь, перспектива года - Информационная Безопасность.
Ловите полезные каналы, которые помогут ворваться в новое направление.
Please open Telegram to view this post
VIEW IN TELEGRAM
Генерируем фейковые данные на Python — без боли!
Если ты тестируешь формы, мокапы или просто хочешь поиграться с данными, есть Mimesis — генератор фейковых данных. Имена, email, адреса и телефоны. Есть настройка локации, позволяющая выбрать страну и данные будут сгенерированы в соответствии с выбором.
GitHub/Инструкция
Разъяснивший Python
Если ты тестируешь формы, мокапы или просто хочешь поиграться с данными, есть Mimesis — генератор фейковых данных. Имена, email, адреса и телефоны. Есть настройка локации, позволяющая выбрать страну и данные будут сгенерированы в соответствии с выбором.
GitHub/Инструкция
Разъяснивший Python
👍1
Forwarded from Банкста
Миру, каким мы его знаем, осталось не больше пяти лет. По мнению первого зампреда Сбера Александра Ведяхина, именно сейчас происходит колоссальная революция генеративного AI. Топ-менеджер отметил, что искусственный интеллект уже активно трансформирует банковский сектор, без труда вычисляя неблагонадежных заемщиков и справляясь с этим лучше, чем люди. Как выяснил журналист ТАСС, много лет назад именно Ведяхин на собрании блока рисков и технологий Сбера намеренно выбрал именно это, на тот момент не самое популярное, направление, осознав его перспективы в будущем. @banksta
traceback.format_exception
Разъяснивший Python
traceback.format_exception
возвращает исключение в виде форматированного списка строк. Это полезно для логирования, отладки и отображения ошибок без немедленного вывода в stderr
Разъяснивший Python
👍1
Полезная фишка в OpenCV.
Для конвертации из условного BGR в RGB с формой
Нежели решейп через
И это не так явно, потому что кажется, что Numpy и его методы должны быть куда более производительными.
Но это не так, а причина заключается в том, как OpenCV работает с многомерными массивами.
Для него это не
Подробнее можете прочитать здесь.
Так что на будущее — пользуйтесь решейпами и т.д. через OpenCV, а не через методы Numpy.
Разъяснивший Python
Для конвертации из условного BGR в RGB с формой
[1, 1, 3]
в разы быстрее работает нативная функция cv2.cvtColor
.Нежели решейп через
numpy.flip
.И это не так явно, потому что кажется, что Numpy и его методы должны быть куда более производительными.
Но это не так, а причина заключается в том, как OpenCV работает с многомерными массивами.
Для него это не
ndarray
, а cv::Mat
.Подробнее можете прочитать здесь.
Так что на будущее — пользуйтесь решейпами и т.д. через OpenCV, а не через методы Numpy.
Разъяснивший Python