Антипаттерн недели: Использование изменяемых объектов как ключей в словаре
В Python ключи в
Используйте кортежи или строки в качестве ключей.
#theory // Just Python
В Python ключи в
dict
должны быть неизменяемыми (immutable). Если использовать изменяемые объекты (списки, множества), это приведёт к TypeError
, так как такие объекты нехешируемы.Используйте кортежи или строки в качестве ключей.
#theory // Just Python
sys.unraisablehook
Документация
#theory // Just Python
sys.unraisablehook
позволяет перехватывать исключения, которые не могут быть обработаны обычным try-except
, например, ошибки в деструкторах (__del__
). Это полезно для отладки и логирования неожиданных ошибок.Документация
#theory // Just Python
faulthandler.dump_traceback()
Документация
#theory // Just Python
faulthandler.dump_traceback()
позволяет принудительно вывести текущий стек вызовов без аварийного завершения программы. Это полезно для отладки зависших процессов или анализа выполнения кода.Документация
#theory // Just Python
sys.getallocatedblocks()
Документация
#theory // Just Python
sys.getallocatedblocks()
возвращает количество блоков памяти, выделенных интерпретатором Python. Это полезно для отладки утечек памяти и анализа работы сборщика мусора.Документация
#theory // Just Python
Использование Python для преобразования рукописного текста в печатный
Этот лайфхак позволяет вам использовать Python для распознавания и преобразования рукописного текста в печатный. Это полезно для оцифровки заметок или работы с рукописными документами.
Как это работает:
1. Загрузка изображения: Скрипт загружает изображение с рукописным текстом.
2. Обработка изображения: Преобразует изображение в оттенки серого и улучшает контраст для лучшего распознавания.
3. Распознавание текста: Использует Tesseract OCR для извлечения текста из изображения.
#theory // Just Python
Этот лайфхак позволяет вам использовать Python для распознавания и преобразования рукописного текста в печатный. Это полезно для оцифровки заметок или работы с рукописными документами.
Как это работает:
1. Загрузка изображения: Скрипт загружает изображение с рукописным текстом.
2. Обработка изображения: Преобразует изображение в оттенки серого и улучшает контраст для лучшего распознавания.
3. Распознавание текста: Использует Tesseract OCR для извлечения текста из изображения.
#theory // Just Python
Автоматическое создание персонализированных поздравлений с помощью Python
Этот лайфхак позволяет автоматически генерировать персонализированные поздравления, используя данные о человеке (например, его имя и интересы) и текстовый шаблон. Вы можете создать уникальные поздравления для любых событий, будь то день рождения, праздники или важные события в жизни.
Как это работает:
1. Шаблон поздравления: В коде создается текстовый шаблон с переменными (например, имя, событие, персонализированное сообщение).
2. Использование Jinja2: Библиотека jinja2 используется для подставления данных в шаблон.
3. Персонализация: При вызове функции вы передаете имя, событие и персонализированное сообщение для создания уникального поздравления.
#theory // Just Python
Этот лайфхак позволяет автоматически генерировать персонализированные поздравления, используя данные о человеке (например, его имя и интересы) и текстовый шаблон. Вы можете создать уникальные поздравления для любых событий, будь то день рождения, праздники или важные события в жизни.
Как это работает:
1. Шаблон поздравления: В коде создается текстовый шаблон с переменными (например, имя, событие, персонализированное сообщение).
2. Использование Jinja2: Библиотека jinja2 используется для подставления данных в шаблон.
3. Персонализация: При вызове функции вы передаете имя, событие и персонализированное сообщение для создания уникального поздравления.
#theory // Just Python
Автоматическое создание мемов с помощью Python
Этот лайфхак позволяет вам быстро создавать мемы, используя свои собственные изображения и текст, с помощью Python. Можете добавить текст к картинкам, стилизовать его и сохранять готовые мемы.
Как это работает:
1. Загрузка изображения: Скрипт загружает изображение с указанного URL.
2. Добавление текста: Вы добавляете верхний и нижний текст, который будет отображаться на мемах.
3. Рисование текста: Используется шрифт и метод рисования текста на изображении.
4. Сохранение: Готовое изображение сохраняется в файл.
#theory // Just Python
Этот лайфхак позволяет вам быстро создавать мемы, используя свои собственные изображения и текст, с помощью Python. Можете добавить текст к картинкам, стилизовать его и сохранять готовые мемы.
Как это работает:
1. Загрузка изображения: Скрипт загружает изображение с указанного URL.
2. Добавление текста: Вы добавляете верхний и нижний текст, который будет отображаться на мемах.
3. Рисование текста: Используется шрифт и метод рисования текста на изображении.
4. Сохранение: Готовое изображение сохраняется в файл.
#theory // Just Python
Управление смартфоном с помощью Python и жестов
Этот лайфхак позволяет вам управлять своим смартфоном с помощью жестов рук, распознаваемых через веб-камеру, используя Python. Это дает возможность выполнять действия на телефоне, такие как переключение музыки, регулировка громкости и прокрутка страниц, просто движениями рук.
Как это работает:
1. Распознавание жестов: Используется библиотека MediaPipe для обнаружения рук и распознавания их положения.
2. Взаимодействие с компьютером: Жесты преобразуются в команды для управления компьютером или смартфоном через pyautogui.
3. Пример с прокруткой: Жесты руки используются для управления прокруткой на экране.
#theory // Just Python
Этот лайфхак позволяет вам управлять своим смартфоном с помощью жестов рук, распознаваемых через веб-камеру, используя Python. Это дает возможность выполнять действия на телефоне, такие как переключение музыки, регулировка громкости и прокрутка страниц, просто движениями рук.
Как это работает:
1. Распознавание жестов: Используется библиотека MediaPipe для обнаружения рук и распознавания их положения.
2. Взаимодействие с компьютером: Жесты преобразуются в команды для управления компьютером или смартфоном через pyautogui.
3. Пример с прокруткой: Жесты руки используются для управления прокруткой на экране.
#theory // Just Python
types.GenericAlias
#theory // Just Python
types.GenericAlias
позволяет программно создавать типизированные аннотации, как если бы они были объявлены с list[int]
, dict[str, float]
и другими параметризованными типами.#theory // Just Python
os.getrandom()
#theory // Just Python
os.getrandom()
получает криптографически безопасные случайные байты прямо из генератора операционной системы. Это полезно для генерации уникальных токенов и защиты данных.#theory // Just Python
Превращение любого сайта в голосового ассистента с Python
Этот лайфхак позволяет вам взять любую статью или информацию с веб-сайта и превратить её в аудио-ответы, которые можно использовать в своем голосовом ассистенте.
Как это работает:
1. Загрузка текста с сайта: Скрипт использует requests и BeautifulSoup для получения текста из HTML-элементов (например, <p>).
2. Преобразование текста в речь: Использует gTTS (Google Text-to-Speech) для преобразования текста в аудио.
3. Воспроизведение аудио: Аудио-файл воспроизводится с помощью playsound.
#theory // Just Python
Этот лайфхак позволяет вам взять любую статью или информацию с веб-сайта и превратить её в аудио-ответы, которые можно использовать в своем голосовом ассистенте.
Как это работает:
1. Загрузка текста с сайта: Скрипт использует requests и BeautifulSoup для получения текста из HTML-элементов (например, <p>).
2. Преобразование текста в речь: Использует gTTS (Google Text-to-Speech) для преобразования текста в аудио.
3. Воспроизведение аудио: Аудио-файл воспроизводится с помощью playsound.
#theory // Just Python
Управление YouTube на компьютере с помощью Python и голосовых команд
Этот лайфхак позволяет управлять воспроизведением видео на YouTube через голосовые команды, используя Python. Например, вы можете сказать "Поставь на паузу", "Следующее видео" или "Повтори видео".
Как это работает:
1. Распознавание речи: С помощью библиотеки SpeechRecognition записывается голос пользователя и преобразуется в текст.
2. Управление YouTube: Логика команд анализирует текст и выполняет действия через pywhatkit, например, поиск и воспроизведение видео.
3. Голосовая обратная связь: Библиотека pyttsx3 озвучивает ответы программы, делая взаимодействие более живым.
#theory // Just Python
Этот лайфхак позволяет управлять воспроизведением видео на YouTube через голосовые команды, используя Python. Например, вы можете сказать "Поставь на паузу", "Следующее видео" или "Повтори видео".
Как это работает:
1. Распознавание речи: С помощью библиотеки SpeechRecognition записывается голос пользователя и преобразуется в текст.
2. Управление YouTube: Логика команд анализирует текст и выполняет действия через pywhatkit, например, поиск и воспроизведение видео.
3. Голосовая обратная связь: Библиотека pyttsx3 озвучивает ответы программы, делая взаимодействие более живым.
#theory // Just Python
Словари: Изменение, добавление, удаление элементов
Хочешь добавить новый элемент или изменить существующий? Просто присвой значение по ключу.
Для удаления элементов есть три варианта. Ты можешь удалить с помощью del, либо же удалить и получить значение с помощью pop(). Также метод clear() используется для очистки всего словаря.
#theory // Just Python
Хочешь добавить новый элемент или изменить существующий? Просто присвой значение по ключу.
Для удаления элементов есть три варианта. Ты можешь удалить с помощью del, либо же удалить и получить значение с помощью pop(). Также метод clear() используется для очистки всего словаря.
#theory // Just Python
Антипаттерн недели: Изменение списка во время итерации
В Python изменение списка во время его обхода может привести к непредсказуемому поведению, пропуску элементов или
Используйте создание нового списка или итерацию через
#theory // Just Python
В Python изменение списка во время его обхода может привести к непредсказуемому поведению, пропуску элементов или
IndexError
.Используйте создание нового списка или итерацию через
copy()
.#theory // Just Python
mmap.mmap()
#theory // Just Python
mmap.mmap()
позволяет работать с файлами как с массивами в памяти, что ускоряет чтение и запись больших файлов без их полного загрузки в ОЗУ.#theory // Just Python
polars.DataFrame
Документация
#theory // Just Python
polars.DataFrame
— это высокопроизводительная альтернатива pandas
, оптимизированная для работы с большими данными. Библиотека polars
использует многопоточность и ленивые вычисления, ускоряя обработку таблиц в десятки раз.Документация
#theory // Just Python
array.tobytes()
#theory // Just Python
array.tobytes()
позволяет быстро преобразовать массив чисел в байтовую строку, что полезно для работы с бинарными файлами, сокетами и сетевыми протоколами.#theory // Just Python
gc.get_stats()
#theory // Just Python
gc.get_stats()
возвращает статистику работы сборщика мусора, включая количество собранных объектов на каждом этапе. Это полезно для анализа и оптимизации работы памяти.#theory // Just Python
Декоратор для автоматического кэширования результатов функций
Кэширование — это техника, которая позволяет значительно улучшить производительность, сохраняя результаты вызовов функций и возвращая кэшированные результаты для одинаковых входных данных.
В Python можно создать декоратор, который автоматически кэширует результаты функций.
#theory // Just Python
Кэширование — это техника, которая позволяет значительно улучшить производительность, сохраняя результаты вызовов функций и возвращая кэшированные результаты для одинаковых входных данных.
В Python можно создать декоратор, который автоматически кэширует результаты функций.
#theory // Just Python
Скриншот страницы сайта в одну строку кода
Если вам нужно быстро сделать скриншот веб-страницы и сохранить его в виде изображения, вы можете использовать Python и библиотеку selenium.
Как это работает:
1.
2.
3.
4.
#theory // Just Python
Если вам нужно быстро сделать скриншот веб-страницы и сохранить его в виде изображения, вы можете использовать Python и библиотеку selenium.
Как это работает:
1.
selenium:
Используется для автоматизации браузера.2.
webdriver-manager:
Упрощает установку и управление драйверами для браузера.3.
.get():
Загружает указанную веб-страницу.4.
.save_screenshot():
Делает скриншот текущего окна браузера и сохраняет его в виде файла.#theory // Just Python