Создание объектов, поддерживающих выражение with
Все знают о том, как, например, открыть файл, или, возможно, как установить блокировку с использованием оператора with. Но можно ли самостоятельно реализовать механизм управления блокировками? Да, это вполне реально. Протокол управления контекстом исполнения реализуется с использованием методов
Это — наиболее распространённый способ реализации возможностей менеджера контекста в Python, но то же самое можно сделать и проще (вторая картинка).
Здесь протокол управления контекстом реализован с использованием декоратора contextmanager. Первая часть функции tag (до yield) выполняется при входе в блок with. Затем выполняется сам этот блок, а после этого выполняется оставшаяся часть функции tag.
Все знают о том, как, например, открыть файл, или, возможно, как установить блокировку с использованием оператора with. Но можно ли самостоятельно реализовать механизм управления блокировками? Да, это вполне реально. Протокол управления контекстом исполнения реализуется с использованием методов
__enter__
и __exit__
(первая картинка).Это — наиболее распространённый способ реализации возможностей менеджера контекста в Python, но то же самое можно сделать и проще (вторая картинка).
Здесь протокол управления контекстом реализован с использованием декоратора contextmanager. Первая часть функции tag (до yield) выполняется при входе в блок with. Затем выполняется сам этот блок, а после этого выполняется оставшаяся часть функции tag.
👍13❤1💯1🆒1
Сколько стоят операции над list, set и dict в Python? Разбираемся с временной сложностью
Программисту, работающему с данными, крайне важно выбирать правильные структуры данных для решения поставленной задачи, ведь выбор неправильного типа данных плохо влияет на производительность приложения.
Смотреть статью
Программисту, работающему с данными, крайне важно выбирать правильные структуры данных для решения поставленной задачи, ведь выбор неправильного типа данных плохо влияет на производительность приложения.
Смотреть статью
Tproger
Сколько стоят операции над list, set и dict в Python? Разбираемся с временной сложностью
Временная сложность алгоритма часто обозначается нотацией «О» большое. Разбираемся, что это и какова сложность операций над коллекциями в Python.
👍13💯3❤1😱1👨💻1
Преобразование строки в словарь
В следующей программе показано, как преобразовать строку в словарь с помощью json.loads().
Другие способы для преобразования строки в словарь можно посмотреть здесь.
В следующей программе показано, как преобразовать строку в словарь с помощью json.loads().
Другие способы для преобразования строки в словарь можно посмотреть здесь.
👍11💯2👨💻1
Усыпляем программу
Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.
В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.
Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.
В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.
👍20👨💻4💯3❤1
🤔29🆒13👍7🔥3😱2🗿1
Определяем язык текста
В данном посте покажем, как с помощью библиотеки langdetect определить язык текстового фрагмента. Для начала необходимо поставить библиотеку - pip install langdetect.
Заметим, что код импортирован на питон из гугловской библиотеки language-detection, поэтому качество распознавания языка находится на уровне.
По умолчанию поддерживается 55 языков.
В данном посте покажем, как с помощью библиотеки langdetect определить язык текстового фрагмента. Для начала необходимо поставить библиотеку - pip install langdetect.
Заметим, что код импортирован на питон из гугловской библиотеки language-detection, поэтому качество распознавания языка находится на уровне.
По умолчанию поддерживается 55 языков.
👍27💯3👨💻2🆒1
Нелокальные переменные
Нелокальные переменные используются во вложенных функциях, локальная область видимости которых не определена. Это означает, что переменная может не находиться ни в локальной, ни в глобальной области.
Давайте на примере рассмотрим, как нелокальная переменная работает в Python.
Для этого нам понадобится ключевое слово nonlocal.
В приведенной выше программе есть вложенная функция inner(). Для создания нелокальной переменной мы используем ключевое слово nonlocal. Функция inner() определяется внутри функции outer().
Нелокальные переменные используются во вложенных функциях, локальная область видимости которых не определена. Это означает, что переменная может не находиться ни в локальной, ни в глобальной области.
Давайте на примере рассмотрим, как нелокальная переменная работает в Python.
Для этого нам понадобится ключевое слово nonlocal.
В приведенной выше программе есть вложенная функция inner(). Для создания нелокальной переменной мы используем ключевое слово nonlocal. Функция inner() определяется внутри функции outer().
👍7💯2👨💻1🗿1
Создаем случайную строку в Python
Чтобы сгенерировать случайную строку в Python, используйте модуль строки и метод random.choices().
Строковый модуль в Python содержит различные строковые константы, включая символы ASCII для всех случаев. Он также включает отдельные константы для прописных и строчных букв, цифр и специальных символов.
Модуль random в Python выполняет случайные генерации.
Чтобы сгенерировать случайную строку в Python, используйте модуль строки и метод random.choices().
Строковый модуль в Python содержит различные строковые константы, включая символы ASCII для всех случаев. Он также включает отдельные константы для прописных и строчных букв, цифр и специальных символов.
Модуль random в Python выполняет случайные генерации.
👍22💯2👨💻1
👍30🗿16🤔8🔥3😢2
Получаем текст с картинки
У Google есть система Tesseract, которая позволяет парсить текст с картинок с помощью оптического распознавания символов. В качестве обертки над их системой был создан пакет
Чтобы получить текст с картинки, надо вызвать метод
Для открытия картинок рекомендуется использовать
У Google есть система Tesseract, которая позволяет парсить текст с картинок с помощью оптического распознавания символов. В качестве обертки над их системой был создан пакет
pytesseract
, который удобно и легко использовать. Чтобы получить текст с картинки, надо вызвать метод
image_to_string
. Если вас интересует текст на русском, то следует указать аргумент lang
как 'rus'
. Для открытия картинок рекомендуется использовать
pillow
, хоть и имеется возможность просто указать путь к файлу в виде строки.👍33👨💻8❤2💯2
#Вопросы_с_собеседования
❓Запустится ли этот код на Python 3? Если да, то что он выведет?
sys.allow_boolean_assignment разрешает создавать переменные с именами, зарезервированными под идентификаторы типа bool. Поэтому этот код запустится и выведет "True is False".
Эта настройка введена в известном первоапрельском коммите, который до сих пор остался в коде интерпретатора. Если кандидат об этом знает, можно с уверенностью сказать, что он общается в должных профессиональных кругах и любят углубляться в детали.
❓Запустится ли этот код на Python 3? Если да, то что он выведет?
Эта настройка введена в известном первоапрельском коммите, который до сих пор остался в коде интерпретатора. Если кандидат об этом знает, можно с уверенностью сказать, что он общается в должных профессиональных кругах и любят углубляться в детали.
👍41🗿15💯4😱1👨💻1
Как хостить телеграм-бота (и другие скрипты на Python) бесплатно 24/7
Цель этот статьи - подробная инструкция, как сделать хостинг Python-скриптов бесплатно и доступным 24/7 на примере телеграм-бота.
Смотреть статью
Цель этот статьи - подробная инструкция, как сделать хостинг Python-скриптов бесплатно и доступным 24/7 на примере телеграм-бота.
Смотреть статью
👍20💯3🗿3🎉2
Функция cv2.blur()
Вы можете размыть изображение в Python с помощью функции OpenCV cv2.blur().
Выше приводится простой пример, в котором нужно размыть изображение и сохранить его.
Ознакомиться подробнее можно здесь.
Вы можете размыть изображение в Python с помощью функции OpenCV cv2.blur().
Выше приводится простой пример, в котором нужно размыть изображение и сохранить его.
Ознакомиться подробнее можно здесь.
🆒13👍9❤1💯1