Python Ready | Программирование
20.8K subscribers
606 photos
40 videos
330 links
Авторский канал по разработке на Python.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Заявления РКН: № 5383810072
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
👍 Semgrep — открытая платформа для статического анализа кода!

Это мощный инструмент, который сочетает в себе простоту grep и глубину семантического анализа: позволяет делать поиск уязвимостей, антипаттернов и недокументированных API в коде на более чем 30 языках.

Оставляю ссылочку: GitHub📱


👉 Python Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥12👍8
Безопасное извлечение значений из словаря!

Когда работаешь с API или нестабильными данными, прямой доступ к словарю (dict['key']) может вызвать KeyError. Пишем функцию, которая умеет доставать значения безопасно и гибко.

Начнём с базового случая — .get():
data = {"user": {"name": "Alice"}}
name = data.get("user", {}).get("name")


Теперь обернём это поведение в универсальную функцию по вложенному доступу:
def deep_get(d, path):
for key in path:
d = d.get(key, {})
return d


Используем функцию с путём до нужного ключа:
name = deep_get(data, ["user", "name"])
print(name) # Alice


🔥 Если чего-то нет — не падаем, а получаем None. Идеально для API, где структура может меняться.

👉 Python Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
26🔥19🤝11👍1
👩‍💻 Захламлённая папка с файлами, в названиях которых не поймёшь где что? Пора навести порядок!

В этом гайде создадим утилиту, которая переименует все нужные файлы по-человечески: уберёт мусор из имён, задаст структуру, пронумерует — и всё это в 10 строк кода.

В посте рассмотрим:
Фильтрацию по расширению — переименовываем только нужные типы файлов.

Очистку имён — избавляемся от “v2”, “копия”, “final” и пробелов.

Форматирование — задаём шаблон имён с нумерацией (document_001.pdf).


Это отличный мини-скрипт для всех, кто работает с загрузками, фото, заказами и хочет, чтобы папки были в порядке без ручной рутины.

👉 Python Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2918👍5😁1
📂 Напоминалка по сетям!

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

На картинке — 7 уровней OSI, что делает каждый из них и примеры протоколов.

Сохрани, чтобы не забыть!

👉 Python Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
18🔥14🤝6
👩‍💻 Шпаргалка по продвинутым коллекциям и структурам данных в Python — часть 2!

Полезные инструменты для работы с очередями, стеками, множества и бинарными данными. Эти структуры помогут писать код компактнее, эффективнее и безопаснее в многопоточном окружении.

👉 Python Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2520👍10🤝3
Удаляем дубликаты, но сохраняем порядок!

Когда обрабатываешь списки из внешних источников (например, e-mail'ы, id-шники, URL'ы) — дубликаты надо убрать, но порядок важен. Просто set() не подойдёт — он всё перемешает.

Используем dict.fromkeys() — он сохраняет порядок с Python 3.7+
items = ["a", "b", "a", "c", "b"]
unique = list(dict.fromkeys(items))


Теперь unique будет ['a', 'b', 'c'] — в том же порядке, что в исходном списке.

Оборачиваем в функцию для переиспользования:
def remove_duplicates(seq):
return list(dict.fromkeys(seq))


Можно применить к любым последовательностям:
emails = ["[email protected]", "[email protected]", "[email protected]"]
print(remove_duplicates(emails))


🔥 Получается просто, нативно и эффективно — без set() и сортировок.

👉 Python Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35👍1211🤝1
👩‍💻 Интересная задача на поиск часа пиковых запросов!

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

В этой задаче:
• Работаем с JSON — достаём timestamp из словаря

• Используем strptime — преобразуем строку в datetime

• defaultdict — считаем количество запросов по каждому часу


Задача из практики нагрузочного анализа и системного логирования.

👉 Python Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2812👍8🤝3