Just Python
11.2K subscribers
3.66K photos
11 videos
3.66K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Как работать с кортежами?

Почему когда мы создаем кортеж из одного элемента нам выводит строку?

Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция, которая может быть отделена пробелами, переносом строк и прочим мусором.

Но все же не увлекайтесь, и ставьте скобки, тем более, что бывают случаи, когда скобки необходимы.
Еще можно создать кортеж из итерируемого объекта можно с помощью все той же пресловутой функции tuple()

#theory // Just Python
The Экономист
⚡️ Разыгрываем сразу 3 новеньких iPhone 16! Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно: 1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать. 2. Нажать «Участвую!» под этим постом. …
⚡️Уже через 5 ДНЕЙ мы подведём итоги масштабного розыгрыша среди наших подписчиков — победители получат сразу три новых iPhone 16!

Самое время подписаться на @economica, @mosbusy и @ruble30 и нажать «Учавствую!» под этим постом, если вы ещё этого не сделали. Результаты уже 25 апреля в 18:00!
Полезная фишка в OpenCV.
Для конвертации из условного BGR в RGB с формой [1, 1, 3] в разы быстрее работает нативная функция cv2.cvtColor.
Нежели решейп через numpy.flip.

И это не так явно, потому что кажется, что Numpy и его методы должны быть куда более производительными.
Но это не так, а причина заключается в том, как OpenCV работает с многомерными массивами.
Для него это не ndarray, а cv::Mat.

Подробнее можете прочитать здесь.
Так что на будущее — пользуйтесь решейпами и т.д. через OpenCV, а не через методы Numpy.

#theory // Just Python
🧐 Ты когда-нибудь задумывался:
- Почему одни люди годами работают за 50 000 ₽, а другие через 2-3 месяца учёбы получают офферы на 150 000+?
- Как некоторые выходят на фриланс и выбирают проекты, а не ждут, пока их наймут?
- Почему в IT даже новички могут позволить себе переезд в другую страну или ипотеку со льготной ставкой?

Ответ прост: они выбрали правильное направление с самого начала.

SkillFactory знает, как это сделать. Не гадайте на кофейной гуще — пройдите точный тест из 18 вопросов, который уже помог 10 000+ человек:
☑️ 5 минут — и алгоритм покажет, какая IT- или дизайн-специальность подходит именно вам.
☑️ Бесплатно — сразу после теста: карьерный гайд + разбор ваших сильных сторон.
☑️ Без воды — только актуальные профессии 2025 года с реальными зарплатами.

👉 "Но разве можно выбрать профессию за 5 минут?"
Можно, если вопросов ровно столько, чтобы отсечь всё лишнее. Попробуйте — ссылка на тест.

Реклама. Информация о рекламодателе по ссылкам в посте.
builtins.exec

exec выполняет переданный код в виде строки как Python-скрипт. Это полезно для генерации и исполнения динамического кода, создания DSL или запуска кода из внешних источников (например, конфигураций).

#theory // Just Python
Что такое списки?

Списки в Python - упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).
Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой итерируемый объект (например, строку) встроенной функцией list.

#theory // Just Python
😒 Программирование — В С Ё

В 2025 году на кодинге уже не вывезешь, перспектива года - Информационная Безопасность.

Ловите полезные каналы, которые помогут ворваться в новое направление.

👍 ZeroDay — Уроки, эксплуатация уязвимостей с нуля
👍 Белый Хакер — Свежие новости из мира ИБ
😎 Арсенал Безопасника — Все необходимые инструменты
😎 Бункер Хакера — Статьи, книги, шпаргалки и хакинг
👨‍💻 Серверная Админа — Настройка и уроки по компьютерным сетям

📂Вступай и изучай новое направление!
Please open Telegram to view this post
VIEW IN TELEGRAM
Дерево решений: Часть 2

Алгоритм деления работает по принципу максимизации чистоты внутри подмножеств. В классификации чаще всего используется Gini impurity или энтропия: они показывают, насколько хорошо разделились классы после сплита. В регрессии — снижение дисперсии (variance reduction). На каждом шаге дерево перебирает все признаки и находит такое условие, которое максимально эффективно делит выборку на две группы с минимальной “грязью”.

Однако у данного алгоритма есть некоторые недостатки. Деревья легко переобучаются, особенно если не ограничивать глубину. Они могут давать нестабильные результаты при небольшом изменении данных (особенно одиночные деревья). Чтобы побороть эти минусы, придумали ансамбли — такие как Random Forest и Gradient Boosting, где используется много деревьев сразу, и это даёт намного более стабильный и мощный результат.

#theory // Just Python
Forwarded from The Экономист
ИИ заменит представления о жизни за 3–5 лет — Ведяхин

Первый зампред правления Сбера Александр Ведяхин в своём интервью заявил, что искусственный интеллект за ближайшие 3–5 лет радикально изменит представления людей обо всех сферах жизни.

Он подчеркнул, что ИИ — это уже не будущее, а реальный инструмент. В банке нейросети помогают находить подходящие продукты и мгновенно отличают благонадежных заемщиков от ненадежных — по его словам, быстрее и точнее, чем человек.

Мы наблюдаем колоссальную революцию генеративного ИИ.

— отметил первый зампред правления Сбера.

🤑 The Экономист
Please open Telegram to view this post
VIEW IN TELEGRAM
traceback.format_exception

traceback.format_exception возвращает исключение в виде форматированного списка строк. Это полезно для логирования, отладки и отображения ошибок без немедленного вывода в stderr

#theory // Just Python
Возврат нескольких значений

Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.

Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).

Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data).

#theory // Just Python
codecs.iterdecode

codecs.iterdecode поэлементно декодирует поток байтов в текст, используя заданную кодировку. Это полезно для обработки больших файлов или потоков в ограниченной памяти, без загрузки всего содержимого

#theory // Just Python
Как быстро перевернуть строку?

Иногда нужно перевернуть строку, например, при анализе данных или для создания простых алгоритмов. Новички могут использовать циклы, но в Python есть удобный способ — срезы.

Этот приём позволяет перевернуть строку за одну строку: text[::-1] разворачивает строку с конца к началу.

#theory // Just Python
Получаем имя текущей функции

Иногда при отладке или логировании нужно узнать, в какой функции мы находимся. Новички могут прописывать имя функции вручную, но Python позволяет получить его автоматически с помощью inspect.

Модуль inspect предоставляет функцию currentframe(), которая возвращает текущий стек вызовов. А f_code.co_name вытаскивает имя функции. Это особенно полезно для логов, когда хочется избежать ручного дублирования.

Итог:
С помощью inspect можно автоматически получать имя текущей функции, что упрощает логирование и повышает читаемость кода.

#theory // Just Python
Узнаем курс рубля за определенную дату

forex-python позволяет получать данные о курсе валют в определённое время и конвертировать одну валюту в другую.

Установка пакета - pip install forex-python.

Текущая программа позволяет нам узнать курс рубля относительно многих других валют мира за 28 апреля 2010 года(в 10 часов 53 минут 30 секунд).

Документация библиотеки находиться здесь.

#theory // Just Python
Random Forest

Random Forest — это не одно дерево, а сразу много. Каждый “деревце” в лесу обучается на случайной части данных и с использованием случайного поднабора признаков. Когда нужно предсказать класс или значение, все деревья голосуют, и побеждает большинство (в классификации) или усреднённый ответ (в регрессии). В результате снижается переобучение по сравнению с одиночным деревом, а сама модель меньше зависит от случайных шумов.

Сначала из обучающей выборки с помощью бутстрэпа выбирается случайная подвыборка (с возвращением). Для каждого дерева берётся случайный набор признаков. Все деревья предсказывают, и итоговый ответ — это агрегация: большинство голосов в классификации или среднее значение в регрессии.

Обрати внимание на пример. n_estimators определяет, сколько деревьев. max_depth — максимальная глубина каждого дерева. random_state — фиксируем сид, чтобы результат был воспроизводим. Можно добавлять class_weight='balanced', если классы несбалансированы.

#theory // Just Python
Проверяем тип переменной

В процессе разработки важно понимать, с каким типом данных вы работаете. Многие новички используют print(type(x)), чтобы узнать тип переменной, но Python предлагает более универсальный способ — isinstance().

Функция isinstance() проверяет, принадлежит ли объект к определённому типу (или группе типов). Это особенно удобно при написании условий и обработке разных данных.

Итог:
isinstance() — удобный инструмент для проверки типов, особенно когда нужно обрабатывать переменные разных типов в одном блоке кода.

#theory // Just Python
The Экономист
⚡️ Разыгрываем сразу 3 новеньких iPhone 16! Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно: 1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать. 2. Нажать «Участвую!» под этим постом. …
⚡️Уже ЗАВТРА мы подведём итоги масштабного розыгрыша среди наших подписчиков — победители получат сразу три новеньких iPhone 16!

Самое время подписаться на @economica, @mosbusy и @ruble30 и нажать «Участвую!» под этим постом, если вы ещё этого не сделали. Результаты уже 25 апреля в 18:00!
Please open Telegram to view this post
VIEW IN TELEGRAM
Антипаттерн недели: except: без указания типа исключения

В Python использование except: без типа перехватывает все ошибки, включая системные (KeyboardInterrupt, SystemExit). Это может затруднить отладку и скрыть критические проблемы.

Всегда явно указывайте тип исключения.

#theory // Just Python