Что такое генераторные выражения в Python и чем они отличаются от списковых выражений?
Генераторные выражения — это компактный способ создания итераторов в Python. Они похожи на списковые выражения (list comprehensions), но возвращают по одному элементу за раз, а не создают сразу весь список. Это делает их более эффективными по памяти, особенно для обработки больших объемов данных.
➡️ Пример:
Разъяснивший Python
Генераторные выражения — это компактный способ создания итераторов в Python. Они похожи на списковые выражения (list comprehensions), но возвращают по одному элементу за раз, а не создают сразу весь список. Это делает их более эффективными по памяти, особенно для обработки больших объемов данных.
➡️ Пример:
# Списковое выражение — создает весь список в памяти
squared_list = [x**2 for x in range(10)]
print(squared_list) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# Генераторное выражение — возвращает по одному значению
squared_gen = (x**2 for x in range(10))
print(next(squared_gen)) # 0
print(next(squared_gen)) # 1
🗣 Генераторные выражения экономят память и могут использоваться для последовательной обработки данных, где полный список не нужен.
Разъяснивший Python
❤2
Использование Python для преобразования рукописного текста в печатный
Этот лайфхак позволяет вам использовать Python для распознавания и преобразования рукописного текста в печатный. Это полезно для оцифровки заметок или работы с рукописными документами.
Как это работает:
1. Загрузка изображения: Скрипт загружает изображение с рукописным текстом.
2. Обработка изображения: Преобразует изображение в оттенки серого и улучшает контраст для лучшего распознавания.
3. Распознавание текста: Использует Tesseract OCR для извлечения текста из изображения.
Разъяснивший Python
Этот лайфхак позволяет вам использовать Python для распознавания и преобразования рукописного текста в печатный. Это полезно для оцифровки заметок или работы с рукописными документами.
Как это работает:
1. Загрузка изображения: Скрипт загружает изображение с рукописным текстом.
2. Обработка изображения: Преобразует изображение в оттенки серого и улучшает контраст для лучшего распознавания.
3. Распознавание текста: Использует Tesseract OCR для извлечения текста из изображения.
Разъяснивший Python
👍2
Полезные модули Python
schedule — простой в использовании Python модуль для периодического запуска функций по дням, часам, минутам и даже секундам.
⚙️ Документация
Разъяснивший Python
schedule — простой в использовании Python модуль для периодического запуска функций по дням, часам, минутам и даже секундам.
⚙️ Документация
Разъяснивший Python
Полезные библиотеки Python
GitMiner — мощный и достаточно популярный OSINT инструмент расширенного поиска и автоматизации на Github. Достаточно указать что искать, например логины или пароли и в каких файлах.
Демонстрирует насколько легко можно найти конфиденциальную информацию в репозиториях.
Установка:
Примеры использования
⚠️ Информация предоставлена исключительно с целью ознакомления. И побуждает обратить внимание на проблемы в безопасности.
GitHub/Инструкция
Разъяснивший Python
GitMiner — мощный и достаточно популярный OSINT инструмент расширенного поиска и автоматизации на Github. Достаточно указать что искать, например логины или пароли и в каких файлах.
Демонстрирует насколько легко можно найти конфиденциальную информацию в репозиториях.
Установка:
$ git clone http://github.com/UnkL4b/GitMiner
$ cd GitMiner
$ pip3 install -r requirements.txt
Примеры использования
⚠️ Информация предоставлена исключительно с целью ознакомления. И побуждает обратить внимание на проблемы в безопасности.
GitHub/Инструкция
Разъяснивший Python
Автоматическое создание персонализированных поздравлений с помощью Python
Этот лайфхак позволяет автоматически генерировать персонализированные поздравления, используя данные о человеке (например, его имя и интересы) и текстовый шаблон. Вы можете создать уникальные поздравления для любых событий, будь то день рождения, праздники или важные события в жизни.
Как это работает:
1. Шаблон поздравления: В коде создается текстовый шаблон с переменными (например, имя, событие, персонализированное сообщение).
2. Использование Jinja2: Библиотека jinja2 используется для подставления данных в шаблон.
3. Персонализация: При вызове функции вы передаете имя, событие и персонализированное сообщение для создания уникального поздравления.
Разъяснивший Python
Этот лайфхак позволяет автоматически генерировать персонализированные поздравления, используя данные о человеке (например, его имя и интересы) и текстовый шаблон. Вы можете создать уникальные поздравления для любых событий, будь то день рождения, праздники или важные события в жизни.
Как это работает:
1. Шаблон поздравления: В коде создается текстовый шаблон с переменными (например, имя, событие, персонализированное сообщение).
2. Использование Jinja2: Библиотека jinja2 используется для подставления данных в шаблон.
3. Персонализация: При вызове функции вы передаете имя, событие и персонализированное сообщение для создания уникального поздравления.
Разъяснивший Python
👍1
Кроссплатформенные приложения на Python с Flet и FastAPI: Полное руководство по разработке
Статья демонстрирует, как с помощью Python и библиотек Flet и FastAPI создавать кроссплатформенные приложения. Рассматриваются подходы к разработке веб, мобильных и десктопных решений без необходимости изучать другие языки.
Читать...
Разъяснивший Python
Статья демонстрирует, как с помощью Python и библиотек Flet и FastAPI создавать кроссплатформенные приложения. Рассматриваются подходы к разработке веб, мобильных и десктопных решений без необходимости изучать другие языки.
Читать...
Разъяснивший Python
Хабр
Кроссплатформенные приложения на Python с Flet и FastAPI: Полное руководство по разработке
Сегодня я покажу вам, что для создания полноценных кроссплатформенных приложений достаточно одного языка — Python. С помощью всего нескольких библиотек и фреймворков можно легко обойтись без...
Скрываем и шифруем файлы с помощью Python | Безопасная переписка
Как скрыть, зашифровать и безопасно передать файлы с помощью Python. Разбираем на практике работу модуля File Hider.
Перейти к просмотру [05:06]
Разъяснивший Python
Как скрыть, зашифровать и безопасно передать файлы с помощью Python. Разбираем на практике работу модуля File Hider.
Перейти к просмотру [05:06]
Разъяснивший Python
YouTube
Скрываем и шифруем файлы с помощью Python | Безопасная переписка
⚡️ Практика Python ⚡️
Как скрыть, зашифровать и безопасно передать файлы с помощью Python. Разбираем на практике работу модуля File Hider.
🔥 Доступ в приват | Поддержать проект:
https://boosty.to/pythontoday
https://www.patreon.com/pythontoday
https://…
Как скрыть, зашифровать и безопасно передать файлы с помощью Python. Разбираем на практике работу модуля File Hider.
🔥 Доступ в приват | Поддержать проект:
https://boosty.to/pythontoday
https://www.patreon.com/pythontoday
https://…
Forwarded from Reddit
Традиционный январский розыгрыш iPhone 16 Pro Max
Для участие необходимо быть подписанным на:
• @reddit
Не забудьте нажать кнопку «Участвовать» под постом!
Итоги будут уже в понедельник, 26 января, в 20:00 по московскому времени. Победителя случайно выберет рандомайзер
Приз абсолютно бесплатно отправим победителю в зоне доставки СДЭК, платить не надо. Всем удачи!
Для участие необходимо быть подписанным на:
Не забудьте нажать кнопку «Участвовать» под постом!
Итоги будут уже в понедельник, 26 января, в 20:00 по московскому времени. Победителя случайно выберет рандомайзер
Приз абсолютно бесплатно отправим победителю в зоне доставки СДЭК, платить не надо. Всем удачи!
list.insert
list.insert() — это метод списка, который позволяет вставить элемент в определённое место (индекс) списка. В отличие от метода append(), который добавляет элемент только в конец, insert() даёт больше гибкости, так как ты можешь указать точное место для нового элемента. Если индекс выходит за пределы, Python добавит элемент в начало (если индекс отрицательный) или в конец списка.
Разъяснивший Python
list.insert() — это метод списка, который позволяет вставить элемент в определённое место (индекс) списка. В отличие от метода append(), который добавляет элемент только в конец, insert() даёт больше гибкости, так как ты можешь указать точное место для нового элемента. Если индекс выходит за пределы, Python добавит элемент в начало (если индекс отрицательный) или в конец списка.
Разъяснивший Python
Автоматическое создание мемов с помощью Python
Этот лайфхак позволяет вам быстро создавать мемы, используя свои собственные изображения и текст, с помощью Python. Можете добавить текст к картинкам, стилизовать его и сохранять готовые мемы.
Как это работает:
1. Загрузка изображения: Скрипт загружает изображение с указанного URL.
2. Добавление текста: Вы добавляете верхний и нижний текст, который будет отображаться на мемах.
3. Рисование текста: Используется шрифт и метод рисования текста на изображении.
4. Сохранение: Готовое изображение сохраняется в файл.
Разъяснивший Python
Этот лайфхак позволяет вам быстро создавать мемы, используя свои собственные изображения и текст, с помощью Python. Можете добавить текст к картинкам, стилизовать его и сохранять готовые мемы.
Как это работает:
1. Загрузка изображения: Скрипт загружает изображение с указанного URL.
2. Добавление текста: Вы добавляете верхний и нижний текст, который будет отображаться на мемах.
3. Рисование текста: Используется шрифт и метод рисования текста на изображении.
4. Сохранение: Готовое изображение сохраняется в файл.
Разъяснивший Python
typing.Protocol
Разъяснивший Python
typing.Protocol из модуля typing используется для определения интерфейсов (протоколов), которые классы должны реализовывать. Это полезно для проверки совместимости типов в статическом анализе.Разъяснивший Python
Управление смартфоном с помощью Python и жестов
Этот лайфхак позволяет вам управлять своим смартфоном с помощью жестов рук, распознаваемых через веб-камеру, используя Python. Это дает возможность выполнять действия на телефоне, такие как переключение музыки, регулировка громкости и прокрутка страниц, просто движениями рук.
Как это работает:
1. Распознавание жестов: Используется библиотека MediaPipe для обнаружения рук и распознавания их положения.
2. Взаимодействие с компьютером: Жесты преобразуются в команды для управления компьютером или смартфоном через pyautogui.
3. Пример с прокруткой: Жесты руки используются для управления прокруткой на экране.
Разъяснивший Python
Этот лайфхак позволяет вам управлять своим смартфоном с помощью жестов рук, распознаваемых через веб-камеру, используя Python. Это дает возможность выполнять действия на телефоне, такие как переключение музыки, регулировка громкости и прокрутка страниц, просто движениями рук.
Как это работает:
1. Распознавание жестов: Используется библиотека MediaPipe для обнаружения рук и распознавания их положения.
2. Взаимодействие с компьютером: Жесты преобразуются в команды для управления компьютером или смартфоном через pyautogui.
3. Пример с прокруткой: Жесты руки используются для управления прокруткой на экране.
Разъяснивший Python
Превращение любого сайта в голосового ассистента с Python
Этот лайфхак позволяет вам взять любую статью или информацию с веб-сайта и превратить её в аудио-ответы, которые можно использовать в своем голосовом ассистенте.
Как это работает:
1. Загрузка текста с сайта: Скрипт использует requests и BeautifulSoup для получения текста из HTML-элементов (например, <p>).
2. Преобразование текста в речь: Использует gTTS (Google Text-to-Speech) для преобразования текста в аудио.
3. Воспроизведение аудио: Аудио-файл воспроизводится с помощью playsound.
Разъяснивший Python
Этот лайфхак позволяет вам взять любую статью или информацию с веб-сайта и превратить её в аудио-ответы, которые можно использовать в своем голосовом ассистенте.
Как это работает:
1. Загрузка текста с сайта: Скрипт использует requests и BeautifulSoup для получения текста из HTML-элементов (например, <p>).
2. Преобразование текста в речь: Использует gTTS (Google Text-to-Speech) для преобразования текста в аудио.
3. Воспроизведение аудио: Аудио-файл воспроизводится с помощью playsound.
Разъяснивший Python
👎1
Работа с хэшируемыми типами данных через
В Python можно управлять тем, как объекты сравниваются и хэшируются, путем реализации методов
Это особенно полезно при использовании объектов в качестве ключей в словарях или элементов в множествах, где требуется уникальность.
Разъяснивший Python
__hash__ и __eq__В Python можно управлять тем, как объекты сравниваются и хэшируются, путем реализации методов
__hash__ и __eq__.Это особенно полезно при использовании объектов в качестве ключей в словарях или элементов в множествах, где требуется уникальность.
Разъяснивший Python
Скрытое хранилище данных внутри изображений с Python
Этот лайфхак позволяет вам спрятать текстовые данные внутри изображения, превращая его в стеганографическое хранилище. Это отличный способ передать скрытую информацию, не вызывая подозрений.
Как это работает:
1. Кодирование данных: Текст преобразуется в двоичный формат и встраивается в наименее значащие биты пикселей изображения.
2. Декодирование данных: Двоичные данные извлекаются из изображения и преобразуются обратно в текст.
3. Специальный маркер: Используется маркер 1111111111111110 для обозначения конца сообщения.
Разъяснивший Python
Этот лайфхак позволяет вам спрятать текстовые данные внутри изображения, превращая его в стеганографическое хранилище. Это отличный способ передать скрытую информацию, не вызывая подозрений.
Как это работает:
1. Кодирование данных: Текст преобразуется в двоичный формат и встраивается в наименее значащие биты пикселей изображения.
2. Декодирование данных: Двоичные данные извлекаются из изображения и преобразуются обратно в текст.
3. Специальный маркер: Используется маркер 1111111111111110 для обозначения конца сообщения.
Разъяснивший Python
Антипаттерн недели: Неоптимальная проверка на принадлежность в списке
Использование списков для проверки на принадлежность с оператором
✔️ Используйте
Разъяснивший Python
Использование списков для проверки на принадлежность с оператором
in приводит к линейному времени выполнения, что может быть медленным для больших наборов данных.✔️ Используйте
set для проверки на принадлежность, чтобы снизить время выполнения до O(1).Разъяснивший Python
👍2👎1
Работа со словарями
Словари – это универсальный инструмент для хранения данных в формате ключ-значение. Если хочешь быстро находить, добавлять или изменять значения, словари – то, что тебе нужно.
Ты можешь создать словарь с помощью фигурных скобок {} или функции dict(). Для получения значения укажи нужный ключ в квадратных скобках. Если ключа нет, произойдет ошибка. Чтобы этого избежать, используй метод get().
Разъяснивший Python
Словари – это универсальный инструмент для хранения данных в формате ключ-значение. Если хочешь быстро находить, добавлять или изменять значения, словари – то, что тебе нужно.
Ты можешь создать словарь с помощью фигурных скобок {} или функции dict(). Для получения значения укажи нужный ключ в квадратных скобках. Если ключа нет, произойдет ошибка. Чтобы этого избежать, используй метод get().
Разъяснивший Python
👍1
contextlib.nested
Модуль
Разъяснивший Python
Модуль
contextlib в Python позволяет обрабатывать несколько ресурсов с помощью менеджеров контекста более лаконично. Это полезно, когда работа идёт с большим числом файлов или объектов.Разъяснивший Python
👍1
PandasGUI — графический интерфейс для работы с DataFrame
PandasGUI — это удобный инструмент, который предоставляет графический интерфейс для работы с Pandas DataFrame. Он позволяет визуализировать, фильтровать и редактировать данные прямо в интерактивном окне, что делает анализ данных более интуитивным и быстрым.
Отличный способ ускорить анализ данных, особенно если вы привыкли работать с Pandas в Jupyter Notebook.
Ссылочка на доку
Разъяснивший Python
PandasGUI — это удобный инструмент, который предоставляет графический интерфейс для работы с Pandas DataFrame. Он позволяет визуализировать, фильтровать и редактировать данные прямо в интерактивном окне, что делает анализ данных более интуитивным и быстрым.
Отличный способ ускорить анализ данных, особенно если вы привыкли работать с Pandas в Jupyter Notebook.
Ссылочка на доку
Разъяснивший Python
👍1
Использование reversed()
Функция reversed() позволяет получить обратный порядок элементов в списке.
В этом примере мы используем функцию reversed() для получения списка чисел в обратном порядке.
Разъяснивший Python
Функция reversed() позволяет получить обратный порядок элементов в списке.
В этом примере мы используем функцию reversed() для получения списка чисел в обратном порядке.
Разъяснивший Python
👎1
concurrent.futures.as_completed()
Метод
Разъяснивший Python
Метод
concurrent.futures.as_completed() позволяет обрабатывать завершение асинхронных задач в порядке их завершения. Это полезно для параллельной обработки, где важно начать работу с результатами, как только они готовы.Разъяснивший Python