Python Portal
53.2K subscribers
2.62K photos
426 videos
53 files
1.09K links
Всё самое интересное из мира Python

Сотрудничество, реклама: @devmangx

Менеджер: @Spiral_Yuri

РКН: https://clck.ru/3GMMF6
Download Telegram
GitHub-репозитории, чтобы прокачать Python

- Веб-разработка с Django — https://github.com/django/django
- Инструментарий для Data Science — https://github.com/rasbt/python-machine-learning-book
- Алгоритмические задачи — https://github.com/TheAlgorithms/Python
- Рецепты машинного обучения — https://github.com/ageron/handson-ml2
- Лучшие практики тестирования — https://github.com/pytest-dev/pytest
- Скрипты для автоматизации — https://github.com/soimort/you-get
- Продвинутые концепции Python — https://github.com/faif/python-patterns


Кидайте в закладки и делитесь с коллегами 🌟

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
15
Чёрт… хакеры это точно оценят.

Кто-то выложил в опенсорс универсальный тулкит для взлома, который объединяет все основные инструменты пентеста в одно CLI-меню.

Ставишь один раз — и сразу получаешь доступ к инструментам из всех категорий: анонимность, сбор информации, атаки на беспроводные сети, подбор паролей, сканирование веба, фреймворки эксплуатации, генерация полезной нагрузки и т.д.

Называется HackingTool.

→ Одно меню запускает Tor, Anonsurf, Macchanger и цепочки прокси за секунды
→ Включает Nmap, Dracnmap, RED HAWK и ReconSpider для полной разведки сети
→ Содержит SQLMap, XSStrike, WPScan и SecretFinder для эксплуатации веба
→ Есть John the Ripper, Hashbuster и BruteX для атак на пароли

51K звёзд. Работает на любом Linux-дистрибутиве.

Полностью опенсорс.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍8
Forwarded from Айти мемы
Media is too big
VIEW IN TELEGRAM
Использую Claude Opus 4.7, чтобы отцентрировать div
😁354🤣2
Если тебе нужны 3+ вложенных цикла — остановись и отрефактори.

Глубокую вложенность лучше избегать: такой код сложнее читать и поддерживать.

Цель всегда одна — читаемость и поддерживаемость.

Если ловишь себя на глубокой вложенности, остановись и подумай, можно ли сделать это понятнее. Использование библиотеки часто будет лучшей альтернативой.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍6
Если видишь одну и ту же переменную по обе стороны and, обрати внимание на этот синтаксический сахар:

x, y, z = 20, 15, 3

# Традиционный способ с 'and'
if x > y and y > z:
...

# Питоничный способ — цепное сравнение
if x > y > z:
...


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🤔1
Ну что, проверим ваши знания?

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁173🌚3
Не усложняй методы startswith и endswith.

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

user_string = input()
starts = ('One', 'Two', 'Three')

# Переусложнённо
for s in starts:
if user_string.startswith(s):
# Сделать что-то и выйти
break

# Чистый вариант
if user_string.startswith(starts):
# Сделать что-то


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍193
Твой ПК скоро станет по-настоящему «умным».

Aiden — это полноценная ИИ-операционная система, которая работает на 100% локально на Windows или Linux:

- 1500+ компонуемых навыков
- 89+ автономных инструментов
- Управляет мышью, клавиатурой, экраном и приложениями (по сути как JARVIS)
- 6-слойная память + граф знаний
- Рой сабагентов, работающих параллельно
- Голос + каналы (Discord, Telegram, WhatsApp…)

Всё офлайн через Ollama.
Без аккаунтов.
Без телеметрии.
Без отправки данных в облако.

Это не чат-бот — это ассистент, который живёт внутри твоей машины.

Будущее персонального ИИ уже здесь, и оно с открытым исходным кодом.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔195
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21
Хотите освоить анализ данных, но не знаете, с чего начать?

Центр непрерывного образования ФКН НИУ ВШЭ запускает онлайн-программу профессиональной переподготовки «Практический анализ данных» — полный цикл обучения от нуля до уровня практикующего аналитика.

Что вас ждет:
🟣Python для автоматизации и анализа данных: от первых строк кода до Pandas и визуализации
🟣SQL на продвинутом уровне: оконные функции, индексы, партиционирование, оптимизация запросов
🟣Прикладная статистика и A/B-тестирование: проверка гипотез, планирование экспериментов, работа с малыми выборками
🟣Основы машинного обучения: регрессия, классификация, кластеризация
🟣Дашборды в Tableau и Yandex DataLens
🟣Продуктовая аналитика: метрики, сегментация, приоритизация гипотез
🟣Хранилища данных: архитектура DWH, Hadoop, Spark, ETL, Airflow

Преподаватели — практикующие специалисты из Wildberries, Вкусно — и точка и других компаний. По окончании вы получите диплом о профессиональной переподготовке НИУ ВШЭ.

📁 Старт: 12 мая.

Подробнее о программе 📍
Please open Telegram to view this post
VIEW IN TELEGRAM
4😢1
f-строки в Python:

* Перед строкой ставится f
* Возвращается обычная строка
* Выражения в {} вычисляются и подставляются

x = 5
y = 7
f'{x} + {y} = {x+y}' # 5 + 7 = 12

x = [1, 2]
y = [3, 4]
f'{x} + {y} = {x+y}' # [1, 2] + [3, 4] = [1, 2, 3, 4]


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍204🤔1
Нужно округлить даты/время в Pandas:

* dt.floor — вниз (к предыдущему интервалу)
* dt.ceil — вверх (к следующему интервалу)
* dt.round — к ближайшему интервалу

Пример:

s.dt.floor('3h')   # предыдущий 3-часовой слот
s.dt.ceil('15m') # следующий 15-минутный слот
s.dt.round('1D') # ближайшие сутки


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥32
Нужно обнулить время (до полуночи) в серии datetime в Pandas — используется dt.normalize:

df['x'].dt.normalize()


На выходе та же серия datetime, но у всех значений время 00:00:00.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Теперь можно искать по PDF на 500 страниц без чанкинга и без векторизации.

Андрей Карпати недавно озвучил идею:

что если база знаний работает как вики, а не как векторная база?

OpenKB — open-source CLI, построенный вокруг этой концепции.

Он компилирует сырые документы в структурированную связанную вики-систему с помощью LLM.

Знания накапливаются, а не пересобираются при каждом запросе.

В классическом RAG контекст каждый раз восстанавливается заново. Здесь модель опирается на уже построенную структуру.

Длинные PDF разбираются через PageIndex — древовидный индекс без векторов, который позволяет рассуждать по структуре документа.

Что получается на выходе:

> авто-суммаризация и страницы концептов
> кросс-ссылки между документами
> детект противоречий и пробелов
> режим наблюдения за изменениями
> markdown, совместимый с Obsidian

Поддерживаются PDF, Word, PowerPoint, Excel, HTML и изображения.

Таблицы и фигуры извлекаются нативно.

Один новый файл может автоматически обновить до 15 страниц в вики.

База знаний начинает сохранять то, что уже было выучено.

https://github.com/VectifyAI/OpenKB

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥128👍3🤔1🤝1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁526👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Sentrux измеряет архитектуру кодовой базы в реальном времени.

Что делает:
→ Оценивает «здоровье» архитектуры (0–10000)
→ Отслеживает модульность, циклические зависимости, глубину, равномерность, избыточность
→ Работает за миллисекунды (Rust + tree-sitter, 52 языка)
→ Отдает фидбек, пока агенты пишут код

Как работает:
→ scan / rescan анализируют структуру
→ check_rules применяет ограничения
→ evolution отслеживает изменения во времени
→ Правила лежат в .sentrux/rules.toml (связность, слои, циклы)

Экспонируется как MCP-сервер:
→ Агенты получают живой структурный фидбек прямо в процессе сессии

Вместо:
code → review позже

Получаешь:
code → оценка → исправление (внутри цикла)

https://github.com/sentrux/sentrux

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤔6👍1
Используй f-строки Python и спецификаторы форматирования, чтобы быстро и на скорую руку собирать таблицы:

d = {'a':10, 'bcd': 2, 'e': 3456}

for key, value in d.items():
print(f'{key:.<5}{value:.>5}')


Вывод:

a.......10
bcd......2
e.....3456


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍7🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12