Python School
82.9K subscribers
2.38K photos
7 videos
559 links
Уроки по Python, которые упростят вам жизнь. Без идиотских туториалов.

Наши мемы для программистов: @conhum

Сотрудничество - @alivian

Канал сотрудничает с рекламным сервисом @Tgpodbor_official

РКН: clck.ru/3G6pBb
加入频道
Запускаем код, спрятанный в изображении! 🖼🐍

Этот лайфхак позволяет прятать Python-код в PNG-картинке и запускать его прямо из неё!

🔥 Как это работает?
Берём картинку и вписываем код в её пиксели, меняя последний бит цвета.
Сохраняем картинку, которая выглядит как обычное изображение.
Читаем картинку, достаём скрытый код и запускаем его!
🎯 Где это можно использовать?
Передача скрытых скриптов через изображения.
Прятать код в файлах для креативного программирования.
Эксперименты с техникой стеганографии.
Создаём "невидимый" Python-код! 🐍🔍

Этот трюк позволяет прятать код в пустом файле, используя символы-заполнители, которые Python всё равно понимает!

🔥 Как это работает?
В начале кода вставлены невидимые символы Zero-Width Space (\u200B) и Zero-Width Non-Joiner (\u200C).
Python игнорирует эти символы, но они мешают текстовому редактору определить, что в файле что-то есть.
В итоге код выглядит пустым, но выполняется!

🎯 Где это можно использовать?
Шутки над коллегами — код как будто не существует, но выполняется.
Скрытие "пасхалок" в проектах.
Креативные соревнования по написанию странного кода.
Простая обработка аргументов командной строки с помощью sys.argv

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

Этот лайфхак будет полезен тем, кто пишет простые скрипты и не нуждается в сложной логике для обработки аргументов, либо тем, кто только начинает изучать Python и хочет быстро понять основы работы с командной строкой.
Запускаем Python-код… без Python! 😲🐍

Этот трюк позволяет выполнить Python-код, даже если интерпретатор Python не установлен в системе!

🔥 Как это работает?
Запрос отправляется на сервер с Python.
Сервер выполняет код и возвращает результат.
Ответ выводится в консоль браузера.

🎯 Где это можно использовать?
Когда на ПК нет Python, а код запустить нужно.
Быстрая проверка Python-кода прямо в браузере.
Создание веб-приложений с серверной логикой на Python.
Python-код, который вращает экран! 🤯📱

Этот трюк позволяет развернуть изображение экрана с помощью Python, создавая эффект "глюка" или сюрприза для пользователя.

🔥 Как это работает?
Использует pyautogui для имитации нажатий клавиш.
Нажимает сочетание клавиш Ctrl + Alt + Down, переворачивая экран.
Через 3 секунды возвращает экран обратно.
🎯 Где это можно использовать?
Розыгрыш друзей или коллег 😂.
Визуальные эффекты в Python-программах.
Создание скриптов для управления экраном.
Использование dataclasses для упрощения работы с данными

dataclass — это специальный декоратор в Python (доступный с версии 3.7), который автоматически создает методы, такие как init, repr, eq и другие, для классов, представляющих данные. Это позволяет сократить код и сделать его более читаемым.

Использование dataclass — это простой способ повысить эффективность разработки и сделать ваш код более чистым и понятным!
Код, который ускоряет сам себя! 🚀🐍

Этот трюк позволяет Python-коду динамически оптимизировать свою работу, анализируя скорость выполнения и заменяя медленные части на более быстрые!

🔥 Как это работает?
Код запускает медленную функцию и измеряет время её работы.
Если код ещё не оптимизирован, он перезаписывает сам себя, заменяя медленный вызов на более быстрый.
При следующем запуске скрипт уже работает быстрее!
🎯 Где это можно использовать?
Автоматическая оптимизация кода 💡.
Обучение Python-разработчиков динамическому изменению кода 🛠.
Создание самосовершенствующихся программ 🤖.
Python-код, который говорит своим голосом! 🗣🐍

Этот трюк позволяет заставить Python "говорить" без установки сложных библиотек!

🔥 Как это работает?
Использует встроенные синтезаторы речи в операционных системах.
На macOS работает через say.
На Linux использует spd-say.
На Windows использует PowerShell и встроенный SpeechSynthesizer.
🎯 Где это можно использовать?
Голосовые уведомления в программах 🔔.
Шутки и розыгрыши 🎭.
Ассистенты и чат-боты 🤖.
Использование requirements.txt для управления зависимостями проекта

Когда вы работаете над проектами в Python, очень важно управлять зависимостями, чтобы обеспечить воспроизводимость и совместимость окружений. Один из простых способов сделать это — использовать файл requirements.txt.

Этот лайфхак будет полезен всем разработчикам Python, особенно тем, кто работает в командах или на проектах с несколькими зависимостями. Использование файла requirements.txt позволяет быстро настраивать окружение и избегать проблем, связанных с несовместимыми версиями библиотек. Это делает ваш проект более устойчивым и легким для развертывания.
Как быстро отладить Python-код без принтов? 🕵️‍♂️🐍

Когда новички ищут ошибки в коде, они часто пишут кучу print(), чтобы понять, что происходит. Но есть лучший способ! 🔥

Используем breakpoint() 🚀
С версии Python 3.7+ есть встроенная команда breakpoint(), которая останавливает выполнение кода и позволяет исследовать переменные в режиме отладки.

📌 После запуска можно вводить команды прямо в консоли! Например:

print(a) – узнать значение переменной a.
print(b) – проверить значение b.
continue – продолжить выполнение кода.
Лучше, чем десятки print()
Работает прямо в коде без доп. инструментов
Использование класса как фабрики объектов

В Python можно создавать классы, которые служат фабриками для создания объектов. Это особенно полезно, когда вы хотите скрыть сложность создания объектов и упростить процесс для пользователя.

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

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

Использование контекстных менеджеров — это простой и эффективный способ повысить надежность и читаемость вашего кода.
Запускаем Python в интерактивном режиме 🖥

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

После выполнения программа не закроется, и ты сможешь вручную проверить переменные!

Позволяет исследовать код после его выполнения
Не требует установки сторонних программ
Как быстро узнать, что делает любая команда в Python? 🕵️‍♂️🐍

Когда ты новичок, часто встречаешь непонятные функции и не знаешь, что они делают. Не нужно гуглить! Python сам расскажет всё, что тебе нужно. 🔥

Используем help() 📖. Python покажет описание и примеры использования функции!
Как запустить простой веб-сервер в 1 команду? 🚀🌍

Хочешь быстро запустить локальный сервер и проверить HTML-страничку или JSON-файл? Python умеет делать это из коробки!

🔥 Как запустить сервер в одну команду?
1️⃣ Открой терминал (или командную строку).
2️⃣ Перейди в папку с нужными файлами: cd путь_к_папке
3️⃣ Запусти HTTP-сервер:
👉 Для Python 3:
python -m http.server 8000

🎯 Где это пригодится?
Быстро проверить HTML, CSS, JavaScript без установки Apache или Nginx.
Запустить сервер на другом устройстве в локальной сети.
Тестировать API-запросы, открывать JSON-файлы.
Как красиво выводить словари и JSON в Python? 📜.1)

Когда ты работаешь со словарями (dict) или JSON-данными, обычный print() выводит всё в одну строку, что неудобно читать. Используй pprint() для красивого форматирования!

Как использовать pprint()?

pprint.pprint() – для красивого вывода словарей.
🔥 Как красиво вывести JSON?

Если у тебя JSON-ответ от API, используй json.dumps().

json.dumps(..., indent=4) – для удобного отображения JSON.
Код становится понятнее и читаемее!
Как быстро поменять местами две переменные в Python? 🔄🐍

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

Python позволяет обменять значения в одну строку с помощью кортежного присваивания

Как это работает?
📌 В правой части создаётся кортеж (b, a), в котором значения уже поменяны местами.
📌 Затем Python распаковывает этот кортеж обратно в переменные a и b.
📌 В итоге a получает значение b, а b получает значение a – всё за одну строку!

Быстрее – Python выполняет это без создания лишней переменной.
Читабельнее – код сразу понятен и не требует объяснений.
Работает с любыми типами данных (числа, строки, списки и т. д.)
Как одной строкой проверить, есть ли элемент в списке? 🔍🐍

Новички часто используют длинные конструкции для проверки элемента в списке, но можно сократить код до одной строки!

📌 Как это работает?

3 in numbers – проверяет, есть ли число 3 в списке.
Тернарный оператор (условие ? если_да : если_нет в других языках) позволяет записать if-else в одну строку.

Меньше строк кода
Читабельно и понятно
Работает с любыми коллекциями (list, set, dict.keys() и т. д.)
Использование Counter из collections для подсчёта элементов

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

Использование Counter делает подсчёт элементов интуитивным, быстрым и простым, что особенно полезно при работе с большими наборами данных.