Разъяснивший Python
8.17K subscribers
2.44K photos
40 videos
30 files
2.29K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
😒 Программирование — В С Ё

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

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

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

📂Вступай и изучай новое направление!
Please open Telegram to view this post
VIEW IN TELEGRAM
Генерируем фейковые данные на Python — без боли!

Если ты тестируешь формы, мокапы или просто хочешь поиграться с данными, есть Mimesis — генератор фейковых данных. Имена, email, адреса и телефоны. Есть настройка локации, позволяющая выбрать страну и данные будут сгенерированы в соответствии с выбором.

GitHub/Инструкция

Разъяснивший Python
👍1
Forwarded from Банкста
Миру, каким мы его знаем, осталось не больше пяти лет. По мнению первого зампреда Сбера Александра Ведяхина, именно сейчас происходит колоссальная революция генеративного AI. Топ-менеджер отметил, что искусственный интеллект уже активно трансформирует банковский сектор, без труда вычисляя неблагонадежных заемщиков и справляясь с этим лучше, чем люди. Как выяснил журналист ТАСС, много лет назад именно Ведяхин на собрании блока рисков и технологий Сбера намеренно выбрал именно это, на тот момент не самое популярное, направление, осознав его перспективы в будущем. @banksta
traceback.format_exception

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

Разъяснивший Python
👍1
Полезная фишка в OpenCV.
Для конвертации из условного BGR в RGB с формой [1, 1, 3] в разы быстрее работает нативная функция cv2.cvtColor.
Нежели решейп через numpy.flip.

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

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

Разъяснивший Python
codecs.iterdecode

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

Разъяснивший Python
Получаем имя текущей функции

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

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

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

Разъяснивший Python
Убираем фон с любой картинки за пару секунд с помощью Python!

Хотите автоматизировать обработку изображений без фотошопа?
Скрипт-проект на базе библиотеки rembg:

Установка:
Python

pip install rembg

Пример кода:
Python

from rembg import remove


def remove_background(input_path: str, output_path: str) -> None:
"""Удаляет фон с изображения и сохраняет результат."""
with open(input_path, 'rb') as input_file:
with open(output_path, 'wb') as output_file:
image_bytes: bytes = input_file.read()
output_bytes: bytes = remove(image_bytes)
output_file.write(output_bytes)

if __name__ == "__main__":
remove_background('input.png', 'output.png')


Открывает файл;
Убирает фон;
Сохраняет готовое изображение.

GitHub/Инструкция

Разъяснивший Python
Random Forest

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

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

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

Разъяснивший Python
Проверяем тип переменной

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

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

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

Разъяснивший Python
Узнаем курс рубля за определенную дату

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

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

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

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

Разъяснивший Python
Получаем путь к текущему файлу

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

Функция os.path.abspath(__file__) возвращает абсолютный путь к текущему файлу, а os.path.dirname() — директорию, в которой он находится.

Итог:
С помощью os.path.abspath(__file__) и os.path.dirname() можно динамически определять путь к текущему файлу и его директории — это удобно для настройки путей и работы с файлами без хардкода.

Разъяснивший Python
Forwarded from Русский ритейл и бизнес
Spektr опубликовал отчёт по итогам исследования «Крупнейшие российские экосистемы 2024-25». Наиболее активно развивающиеся вертикали — финансы, покупки, развлечения и образование.

Лидером по знанию в наибольшем числе вертикалей оказались сервисы Сбера (8 из 18), второе место у Яндекса (6 из 18). Среди направлений, где лидирует Сбер, — финансы (Сбербанк Онлайн), здоровье (СберЗдоровье) и недвижимость (Домклик). Среди вертикалей, где лидирует Яндекс, — мобильность (Яндекс Такси), информация (Яндекс Карты) и голосовые ассистенты (Алиса). @retailrus
Получаем путь к текущему файлу

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

Функция os.path.abspath(__file__) возвращает абсолютный путь к текущему файлу, а os.path.dirname() — директорию, в которой он находится.

Итог:
С помощью os.path.abspath(__file__) и os.path.dirname() можно динамически определять путь к текущему файлу и его директории — это удобно для настройки путей и работы с файлами без хардкода.

Разъяснивший Python
Антипаттерн недели: except: без указания типа исключения

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

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

Разъяснивший Python
Оживляем пиксели по-взрослому!

Lada — умное Python приложение на базе ИИ, предназначенное для восстановления пикселизированных, "взрослых" видео и возвращение картинке былой чёткости 😈

Работать с ним можно как через удобный графический интерфейс, так и прямо из командной строки.

Что важно знать:

Нужна видеокарта Nvidia с поддержкой CUDA;
Для видео в 1080p потребуется минимум 6–8 ГБ видеопамяти, для 4K — желательно побольше.
Всё восстановленное видео можно сохранить в отдельный файл — без искажений и артефактов.

GitHub/Инструкция

Разъяснивший Python
Замеряем время выполнения кода

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

Простой способ — сохранить текущее время перед началом работы и вычесть его из времени после выполнения кода.

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

Разъяснивший Python
👎2
importlib.invalidate_caches

importlib.invalidate_caches() очищает внутренний кэш путей поиска модулей. Это полезно при динамическом создании или удалении .py файлов, особенно в тестах, плагинах и REPL-средах, когда модуль может появиться в процессе выполнения

Разъяснивший Python
faulthandler.dump_traceback_later

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

Разъяснивший Python