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

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

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

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

РКН: clck.ru/3G6pBb
加入频道
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 делает подсчёт элементов интуитивным, быстрым и простым, что особенно полезно при работе с большими наборами данных.
Как быстро поменять регистр текста в Python? 🔠🔡

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

Вместо того, чтобы вручную проходить по каждому символу, можно использовать встроенные методы Python! 🚀

🔥 Используем .upper(), .lower(), .title() и другие!
1️⃣ upper() – преобразует все символы в верхний регистр.
2️⃣ lower() – преобразует все символы в нижний регистр.
3️⃣ title() – делает первую букву каждого слова заглавной.
4️⃣ capitalize() – делает первую букву первого слова заглавной.

🎯 Итог
🔹 upper() – всё в верхний регистр.
🔹 lower() – всё в нижний регистр.
🔹 title() – первая буква каждого слова заглавная.
🔹 capitalize() – только первое слово с заглавной буквы.
Использование functools.lru_cache для оптимизации производительности

В Python библиотека functools предоставляет декоратор lru_cache, который может значительно ускорить работу функций с повторяющимися вызовами. Этот декоратор сохраняет результаты вызовов функции с определёнными аргументами, и при повторном вызове с теми же аргументами возвращает кэшированное значение, а не выполняет функцию заново.

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

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

Использование Counter упрощает задачу подсчета элементов и делает код более читаемым и эффективным.
Как проверить, есть ли элемент в списке? 🔍

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

🎯 Итог
Код читается легко.
Работает для любых типов данных.
Гораздо быстрее, чем перебор вручную! 😎