Python Academy
47.6K subscribers
1.21K photos
2 videos
413 links
Python Academy — один канал вместо тысячи учебников

Чат канала: @python_academy_chat

Сотрудничество: @zubar89

Канал включён в перечень РКН: https://rkn.link/TVu
Download Telegram
Читаем текст с картинки используя Tesseract от Google

Google разработал систему Tesseract для извлечения текста из изображений через оптическое распознавание символов.

Pytesseract - это удобная оболочка для системы Tesseract, облегчающая её использование.

Чтобы извлечь текст из изображения, используйте метод image_to_string. Для работы с русским текстом укажите аргумент lang как 'rus'.

Рекомендуется использовать библиотеку pillow для открытия изображений, хотя можно также просто указать путь к файлу.

Пример кода:

from PIL import Image
import pytesseract

# Открываем изображение с помощью Pillow
image = Image.open('image.jpg')

# Используем pytesseract для извлечения текста
text = pytesseract.image_to_string(image, lang='rus')

print(text)

#python #pytesseract
👍91
Функция reduce

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

Примером работы reduce может служить последовательное умножение чисел: сначала 1 умножается на 2, затем полученный результат умножается на 3, и так далее.

#python #functools
👍8
Валидаторы данных

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

Модуль validators позволяет использовать уже готовые валидаторы для самых распространенных задач. В примере можете как раз увидеть валидацию почты и ссылок.

Помимо этого, validators позволяет также работать с ipv4, ipv6, mac адресами и многим другим. В итоге, имеем лаконичный и простой модуль с хорошим функционалом.

#python #validators
👍61
frozenset

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

Вот несколько ключевых особенностей frozenset:

Неизменяемость: Это означает, что вы не можете добавлять, удалять или изменять элементы в frozenset после его создания.
Хешируемость: Поскольку frozenset неизменяем, он является хешируемым, что означает, что его можно использовать в качестве ключа в словарях и элемента множества.

Обратите внимание, что, поскольку frozenset не поддерживает изменения, некоторые методы, которые изменяют множество (например, add, remove, discard), не применимы к frozenset. Однако, вы можете выполнять операции, возвращающие новые frozenset, такие как объединение и пересечение.

#python
👍7