Just Python
قناة بسيطة
🐍Простое изучение Python. Ссылка: @Portal_v_IT Сотрудничество: @oleginc
إظهار المزيد9 699
المشتركون
-224 ساعات
-207 أيام
-7430 أيام
أرشيف المشاركات
9 701
builtins.exec
exec выполняет переданный код в виде строки как Python-скрипт. Это полезно для генерации и исполнения динамического кода, создания DSL или запуска кода из внешних источников (например, конфигураций).
#theory // Just Python9 701
🧐 Ты когда-нибудь задумывался:
- Почему одни люди годами работают за 50 000 ₽, а другие через 2-3 месяца учёбы получают офферы на 150 000+?
- Как некоторые выходят на фриланс и выбирают проекты, а не ждут, пока их наймут?
- Почему в IT даже новички могут позволить себе переезд в другую страну или ипотеку со льготной ставкой?
Ответ прост: они выбрали правильное направление с самого начала.
SkillFactory знает, как это сделать. Не гадайте на кофейной гуще — пройдите точный тест из 18 вопросов, который уже помог 10 000+ человек:
☑️ 5 минут — и алгоритм покажет, какая IT- или дизайн-специальность подходит именно вам.
☑️ Бесплатно — сразу после теста: карьерный гайд + разбор ваших сильных сторон.
☑️ Без воды — только актуальные профессии 2025 года с реальными зарплатами.
👉 "Но разве можно выбрать профессию за 5 минут?"
Можно, если вопросов ровно столько, чтобы отсечь всё лишнее. Попробуйте — ссылка на тест.
Реклама. Информация о рекламодателе по ссылкам в посте.
9 701
+1
Полезная фишка в OpenCV.
Для конвертации из условного BGR в RGB с формой
[1, 1, 3] в разы быстрее работает нативная функция cv2.cvtColor.
Нежели решейп через numpy.flip.
И это не так явно, потому что кажется, что Numpy и его методы должны быть куда более производительными.
Но это не так, а причина заключается в том, как OpenCV работает с многомерными массивами.
Для него это не ndarray, а cv::Mat.
Подробнее можете прочитать здесь.
Так что на будущее — пользуйтесь решейпами и т.д. через OpenCV, а не через методы Numpy.
#theory // Just Python9 701
⚡️Уже через 5 ДНЕЙ мы подведём итоги масштабного розыгрыша среди наших подписчиков — победители получат сразу три новых iPhone 16!
Самое время подписаться на @economica, @mosbusy и @ruble30 и нажать «Учавствую!» под этим постом, если вы ещё этого не сделали. Результаты уже 25 апреля в 18:00!
9 701
Как работать с кортежами?
Почему когда мы создаем кортеж из одного элемента нам выводит строку?
Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция, которая может быть отделена пробелами, переносом строк и прочим мусором.
Но все же не увлекайтесь, и ставьте скобки, тем более, что бывают случаи, когда скобки необходимы.
Еще можно создать кортеж из итерируемого объекта можно с помощью все той же пресловутой функции tuple()
9 701
Зачем нужны кортежи, если есть списки?
На это есть несколько причин. Во первых, это защита от дурака. То есть кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
Во вторых, кортежи меньше размером чем списки. Это существенный плюс при работе с большими программами.
В третьих, это возможность использовать кортежи в качестве ключей словаря.
#theory // Just Python
9 701
Дерево решений: Часть 1
Дерево решений — это модель, которая принимает решения, двигаясь по ветвям дерева от корня к листьям. На каждом узле происходит проверка: например, «если возраст > 30 — идём направо, иначе налево». Так шаг за шагом дерево делит данные на подгруппы, пока не придёт к финальному решению: в регрессии — числовое значение, в классификации — метка класса.
Модель выглядит почти как блок-схема, и ты можешь буквально прочитать, почему она приняла то или иное решение. В Python всё это делается через sklearn.tree.DecisionTreeClassifier или DecisionTreeRegressor.
Параметр max_depth — это ограничение на глубину дерева. Без него дерево может продолжать делиться, пока не переобучится подчистую. Всегда важно следить за глубиной, количеством листьев (max_leaf_nodes) и минимальным числом объектов в узле (min_samples_split) — это всё способы контроля переобучения.
Разъяснивший Python
9 701
Как присвоить несколько переменных в одну строку?
Иногда нужно сразу задать значения нескольким переменным. Новички делают это в несколько строк, что выглядит громоздко. Но Python поддерживает удобную конструкцию множественного присваивания — коротко, читаемо и эффективно!
С помощью этой фичи можно сразу задать значения, поменять переменные местами или распаковать кортеж — всё в одной строке.
Итог:
Множественное присваивание упрощает код.
Позволяет присваивать значения сразу нескольким переменным.
Удобно для обмена значениями и распаковки структур.
#theory // Just Python
9 701
importlib.util.find_spec
importlib.util.find_spec позволяет узнать, можно ли импортировать модуль, не загружая его. Это полезно для проверки наличия зависимостей, динамической загрузки и построения систем плагинов.
#theory // Just Python9 701
Repost from Python Learning
⚙️ importlib.util.find_spec
importlib.util.find_spec позволяет узнать, можно ли импортировать модуль, не загружая его. Это полезно для проверки наличия зависимостей, динамической загрузки и построения систем плагинов.
Python Learning 👩💻9 701
itertools.starmap
itertools.starmap применяет функцию к элементам итерируемого объекта, распаковывая аргументы из кортежей. Это полезно для операций с несколькими аргументами без лямбд и циклов.
Разъяснивший Python9 701
Нашли для вас крупную базу материалов по 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 701
ElasticNet
Минус Lasso в том, что если признаки сильно скоррелированы между собой, она может случайно “выбрать” только один из них и проигнорировать остальные, даже если они тоже информативны. В таких случаях часто используют ElasticNet — это гибрид L1 и L2.
Параметр l1_ratio регулирует баланс между L1 и L2. 0.0 — чистый Ridge. 1.0 — чистый Lasso. 0.5 — пополам.
#theory // Just Python
9 701
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 701
Ловушка с аргументами
*args и **kwargs без передачи дальше
В Python *args и **kwargs часто используются для гибкости, но ошибка — принимать их и не передавать дальше в базовые классы или функции. Это «глотает» параметры и может ломать поведение программы.
Всегда передавайте *args и **kwargs, если не уверены, что они вам не нужны.
#theory // Just Python9 701
Repost from The Экономист
⚡️ Разыгрываем сразу 3 новеньких iPhone 16!
Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно:
1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать.
2. Нажать «Участвую!» под этим постом.
Итоги подведём 25 апреля в 18:00 случайным образом при помощи бота. Девайсы за свой счёт застрахуем и отправим победителям в любую точку мира. Всем удачи!
9 701
NumPy, часть 4: linalg
Теперь же мы приступим к более серьёзным вещам, которые есть в NumPy. Первый на очереди у нас модуль numpy.linalg, позволяющий делать многие операции из линейной алгебры.
Массивы большей размерности в большинстве функций linalg интерпретируются как набор из нескольких массивов нужной размерности. Таким образом, можно одним вызовом функции проделывать операции над несколькими объектами.
#theory // Just Python
9 701
NumPy, часть 4: linalg
Теперь же мы приступим к более серьёзным вещам, которые есть в NumPy. Первый на очереди у нас модуль numpy.linalg, позволяющий делать многие операции из линейной алгебры.
Массивы большей размерности в большинстве функций linalg интерпретируются как набор из нескольких массивов нужной размерности. Таким образом, можно одним вызовом функции проделывать операции над несколькими объектами.
#theory // Just Python
9 701
Как создать свой чат-бот и начать зарабатывать?
На cайте университета Зерокодер открыли запись на бесплатный онлайн-практикум, где разберут процесс создания востребованных чат-ботов — от простых помощников до проектов, за которые готовы платить по ₽100 000.
Главное:
– Не нужен опыт в программировании;
– Расскажут стратегию выхода на стабильный доход;
– Дадут доступ к вакансиям для разработчиков чат-ботов;
– Покажут конкретные кейсы и как их искать;
– Обучат взаимодействию с нейросетями для упрощения работы.
Чтобы освоить перспективную IT-профессию открываем ссылку и бронируем место на эфир.
erid: 2W5zFGXmir4
ООО Зерокодер, ИНН 9715401631
9 701
NumPy, часть 3: random
Есть несколько способов работы с случайными элементами в NumPy.
Путь первый это создавать списки, используя встроенный модуль random, а затем преобразовывать их в numpy.array.
Второй путь это создание массивов. Самый простой способ задать массив со случайными элементами - использовать функцию sample (или random, или random_sample, или ranf - это всё одна и та же функция).
#theory // Just Python
