Just Python
Open in Telegram
🐍Простое изучение Python. Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc Канал на бирже: telega.in/c/justpython_it РКН: clck.ru/3MnbSc
Show more9 871
Subscribers
-224 hours
-207 days
-6530 days
Posts Archive
9 870
traceback.format_exception
traceback.format_exception возвращает исключение в виде форматированного списка строк. Это полезно для логирования, отладки и отображения ошибок без немедленного вывода в stderr
#theory // Just Python9 870
Repost from The Экономист
ИИ заменит представления о жизни за 3–5 лет — Ведяхин
Первый зампред правления Сбера Александр Ведяхин в своём интервью заявил, что искусственный интеллект за ближайшие 3–5 лет радикально изменит представления людей обо всех сферах жизни.
Он подчеркнул, что ИИ — это уже не будущее, а реальный инструмент. В банке нейросети помогают находить подходящие продукты и мгновенно отличают благонадежных заемщиков от ненадежных — по его словам, быстрее и точнее, чем человек.
Мы наблюдаем колоссальную революцию генеративного ИИ.— отметил первый зампред правления Сбера. 🤑 The Экономист
9 870
Дерево решений: Часть 2
Алгоритм деления работает по принципу максимизации чистоты внутри подмножеств. В классификации чаще всего используется Gini impurity или энтропия: они показывают, насколько хорошо разделились классы после сплита. В регрессии — снижение дисперсии (variance reduction). На каждом шаге дерево перебирает все признаки и находит такое условие, которое максимально эффективно делит выборку на две группы с минимальной “грязью”.
Однако у данного алгоритма есть некоторые недостатки. Деревья легко переобучаются, особенно если не ограничивать глубину. Они могут давать нестабильные результаты при небольшом изменении данных (особенно одиночные деревья). Чтобы побороть эти минусы, придумали ансамбли — такие как Random Forest и Gradient Boosting, где используется много деревьев сразу, и это даёт намного более стабильный и мощный результат.
#theory // Just Python
9 870
😒 Программирование — В С Ё
В 2025 году на кодинге уже не вывезешь, перспектива года - Информационная Безопасность.
Ловите полезные каналы, которые помогут ворваться в новое направление.
👍 ZeroDay — Уроки, эксплуатация уязвимостей с нуля
👍 Белый Хакер — Свежие новости из мира ИБ
😎 Арсенал Безопасника — Все необходимые инструменты
😎 Бункер Хакера — Статьи, книги, шпаргалки и хакинг
👨💻 Серверная Админа — Настройка и уроки по компьютерным сетям
📂Вступай и изучай новое направление!
9 870
Что такое списки?
Списки в Python - упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).
Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой итерируемый объект (например, строку) встроенной функцией list.
#theory // Just Python
9 870
builtins.exec
exec выполняет переданный код в виде строки как Python-скрипт. Это полезно для генерации и исполнения динамического кода, создания DSL или запуска кода из внешних источников (например, конфигураций).
#theory // Just Python9 870
🧐 Ты когда-нибудь задумывался:
- Почему одни люди годами работают за 50 000 ₽, а другие через 2-3 месяца учёбы получают офферы на 150 000+?
- Как некоторые выходят на фриланс и выбирают проекты, а не ждут, пока их наймут?
- Почему в IT даже новички могут позволить себе переезд в другую страну или ипотеку со льготной ставкой?
Ответ прост: они выбрали правильное направление с самого начала.
SkillFactory знает, как это сделать. Не гадайте на кофейной гуще — пройдите точный тест из 18 вопросов, который уже помог 10 000+ человек:
☑️ 5 минут — и алгоритм покажет, какая IT- или дизайн-специальность подходит именно вам.
☑️ Бесплатно — сразу после теста: карьерный гайд + разбор ваших сильных сторон.
☑️ Без воды — только актуальные профессии 2025 года с реальными зарплатами.
👉 "Но разве можно выбрать профессию за 5 минут?"
Можно, если вопросов ровно столько, чтобы отсечь всё лишнее. Попробуйте — ссылка на тест.
Реклама. Информация о рекламодателе по ссылкам в посте.
9 870
+1
Полезная фишка в OpenCV.
Для конвертации из условного BGR в RGB с формой
[1, 1, 3] в разы быстрее работает нативная функция cv2.cvtColor.
Нежели решейп через numpy.flip.
И это не так явно, потому что кажется, что Numpy и его методы должны быть куда более производительными.
Но это не так, а причина заключается в том, как OpenCV работает с многомерными массивами.
Для него это не ndarray, а cv::Mat.
Подробнее можете прочитать здесь.
Так что на будущее — пользуйтесь решейпами и т.д. через OpenCV, а не через методы Numpy.
#theory // Just Python9 870
⚡️Уже через 5 ДНЕЙ мы подведём итоги масштабного розыгрыша среди наших подписчиков — победители получат сразу три новых iPhone 16!
Самое время подписаться на @economica, @mosbusy и @ruble30 и нажать «Учавствую!» под этим постом, если вы ещё этого не сделали. Результаты уже 25 апреля в 18:00!
9 870
Как работать с кортежами?
Почему когда мы создаем кортеж из одного элемента нам выводит строку?
Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция, которая может быть отделена пробелами, переносом строк и прочим мусором.
Но все же не увлекайтесь, и ставьте скобки, тем более, что бывают случаи, когда скобки необходимы.
Еще можно создать кортеж из итерируемого объекта можно с помощью все той же пресловутой функции tuple()
9 870
Зачем нужны кортежи, если есть списки?
На это есть несколько причин. Во первых, это защита от дурака. То есть кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
Во вторых, кортежи меньше размером чем списки. Это существенный плюс при работе с большими программами.
В третьих, это возможность использовать кортежи в качестве ключей словаря.
#theory // Just Python
9 870
Дерево решений: Часть 1
Дерево решений — это модель, которая принимает решения, двигаясь по ветвям дерева от корня к листьям. На каждом узле происходит проверка: например, «если возраст > 30 — идём направо, иначе налево». Так шаг за шагом дерево делит данные на подгруппы, пока не придёт к финальному решению: в регрессии — числовое значение, в классификации — метка класса.
Модель выглядит почти как блок-схема, и ты можешь буквально прочитать, почему она приняла то или иное решение. В Python всё это делается через sklearn.tree.DecisionTreeClassifier или DecisionTreeRegressor.
Параметр max_depth — это ограничение на глубину дерева. Без него дерево может продолжать делиться, пока не переобучится подчистую. Всегда важно следить за глубиной, количеством листьев (max_leaf_nodes) и минимальным числом объектов в узле (min_samples_split) — это всё способы контроля переобучения.
Разъяснивший Python
9 870
Как присвоить несколько переменных в одну строку?
Иногда нужно сразу задать значения нескольким переменным. Новички делают это в несколько строк, что выглядит громоздко. Но Python поддерживает удобную конструкцию множественного присваивания — коротко, читаемо и эффективно!
С помощью этой фичи можно сразу задать значения, поменять переменные местами или распаковать кортеж — всё в одной строке.
Итог:
Множественное присваивание упрощает код.
Позволяет присваивать значения сразу нескольким переменным.
Удобно для обмена значениями и распаковки структур.
#theory // Just Python
9 870
importlib.util.find_spec
importlib.util.find_spec позволяет узнать, можно ли импортировать модуль, не загружая его. Это полезно для проверки наличия зависимостей, динамической загрузки и построения систем плагинов.
#theory // Just Python9 870
Repost from Python Learning
⚙️ importlib.util.find_spec
importlib.util.find_spec позволяет узнать, можно ли импортировать модуль, не загружая его. Это полезно для проверки наличия зависимостей, динамической загрузки и построения систем плагинов.
Python Learning 👩💻9 870
itertools.starmap
itertools.starmap применяет функцию к элементам итерируемого объекта, распаковывая аргументы из кортежей. Это полезно для операций с несколькими аргументами без лямбд и циклов.
Разъяснивший Python9 870
Нашли для вас крупную базу материалов по IT на любой вкус. Всё как мы любим — подробно, бесплатно и по полочкам:
🖥 Python: 1527+ материалов
└ Фреймворки: 930+ материалов
└ Библиотеки: 715+ материалов
🖥 Frontend: 1494+ материалов
└ CSS: 855+ материалов
└ JavaScript: 739+ материалов
└ Фреймворки: 638+ материалов
🖥 Backend: 1650+ материалов
└ Разработка: 1005+ материалов
└ DevOps: 883+ материалов
└ SQL и БД: 787+ материалов
🎨 Дизайн: 1120+ материалов
└ Figma: 855+ материалов
└ Photoshop: 725+ материалов
📖 Книги по IT: 1725+ материалов
└ Курсы: 828+ материалов
└ Программы: 539+ материалов
Публикуем ссылки только на 48 часов — успейте ознакомиться, пока не снесли!⏲️
9 870
ElasticNet
Минус Lasso в том, что если признаки сильно скоррелированы между собой, она может случайно “выбрать” только один из них и проигнорировать остальные, даже если они тоже информативны. В таких случаях часто используют ElasticNet — это гибрид L1 и L2.
Параметр l1_ratio регулирует баланс между L1 и L2. 0.0 — чистый Ridge. 1.0 — чистый Lasso. 0.5 — пополам.
#theory // Just Python
9 870
Bottle — это мини-фреймворк для Python, позволяющий писать веб-приложения с высокой скоростью, и он представлен в виде одного файла bottle.py, так что для его работы достаточно только этого файла.
Мы все обожаем примеры, поэтому вот код для начала работы с Bottle:
from bottle import route, run, template
@route('/hello/<name>')
def index(name):
return template('<b>Hello {{name}}</b>!', name=name)
run(host='localhost', port=8080)
Здесь мы создали веб сервер по адресу localhost с портом 8080.
Вы можете изменить текст "Hello {{name}}" на любой другой текст.
Чтобы проверить его работу, просто перейдите по ссылке http://localhost:8080/hello/world. После этого вы увидите на экране "Hello World".
Повторюсь, Bottle распространяется в виде одного файла-модуля и не имеет никаких зависимостей, кроме стандартной библиотеки Python.
Официальная документация только на английском
Русская документация
#theory // Just Python9 870
Ловушка с аргументами
*args и **kwargs без передачи дальше
В Python *args и **kwargs часто используются для гибкости, но ошибка — принимать их и не передавать дальше в базовые классы или функции. Это «глотает» параметры и может ломать поведение программы.
Всегда передавайте *args и **kwargs, если не уверены, что они вам не нужны.
#theory // Just Python