Python и Windows
Если вы работаете с Windows, PyWin32 — библиотека, которую вам пригодится. Вопреки названию, подходит и для 64-битной версии. Она открывает доступ к множеству вызовов к API операционной системы. Работа с процессами, окнами и другие взаимодействия. Все нативные приложения на Python никак не могут обойтись без обращений к Win32 API.
PyWin32 содержит большинство команд, которые особенно пригодятся, если вы разрабатываете приложение с визуальным интерфейсом или с постоянной работой с файловой системой.
Документация:
https://pypi.org/project/pywin32/
Если вы работаете с Windows, PyWin32 — библиотека, которую вам пригодится. Вопреки названию, подходит и для 64-битной версии. Она открывает доступ к множеству вызовов к API операционной системы. Работа с процессами, окнами и другие взаимодействия. Все нативные приложения на Python никак не могут обойтись без обращений к Win32 API.
PyWin32 содержит большинство команд, которые особенно пригодятся, если вы разрабатываете приложение с визуальным интерфейсом или с постоянной работой с файловой системой.
Документация:
https://pypi.org/project/pywin32/
PyPI
pywin32
Python for Windows Extensions
Аннотации типов: Union и Optional
При необходимости допустить использование не любых типов, а только некоторых, можно использовать аннотацию
Для объявления опциональных переменных используется
Кстати, аннотация
При необходимости допустить использование не любых типов, а только некоторых, можно использовать аннотацию
Union[T, ...] с указанием списка типов в квадратных скобках.Для объявления опциональных переменных используется
Optional[T]. Такая аннотация нужна для переменных, которые либо имеют значение определенного типа, либо равны None.Кстати, аннотация
Optional[T] эквивалентна Union[T, None].Заменяем часть строки
Со строками в Python работать очень удобно, так как встроенных методов для них довольно много. Одним из методов является
Первым аргументом передается подстрока, которая будет изменяться в исходной строке. Вторым аргументом — то, на что будет заменяться.
Также есть третий опциональный аргумент, который отвечает за то, сколько раз вы хотите заменить старую подстроку на новую. По умолчанию все вхождения заменяются.
Со строками в Python работать очень удобно, так как встроенных методов для них довольно много. Одним из методов является
str.replace(), который позволяет заменять части строк.Первым аргументом передается подстрока, которая будет изменяться в исходной строке. Вторым аргументом — то, на что будет заменяться.
Также есть третий опциональный аргумент, который отвечает за то, сколько раз вы хотите заменить старую подстроку на новую. По умолчанию все вхождения заменяются.
Классы данных (Data classes)
Начиная с версии 3.7, Python предлагает классы данных. Есть несколько преимуществ перед обычными классами или другими альтернативами, такими как возвращение нескольких значений или словарей:
🐍 класс данных требует минимального количества кода;
🐍 вы можете сравнить классы данных, потому что существует
🐍 вы можете легко вывести класс данных для отладки, потому что существует
🐍 классы данных требуют тайп хинты, что уменьшает шанс ошибок.
На картинке пример класса данных в работе.
Начиная с версии 3.7, Python предлагает классы данных. Есть несколько преимуществ перед обычными классами или другими альтернативами, такими как возвращение нескольких значений или словарей:
🐍 класс данных требует минимального количества кода;
🐍 вы можете сравнить классы данных, потому что существует
__eq__;🐍 вы можете легко вывести класс данных для отладки, потому что существует
__repr__;🐍 классы данных требуют тайп хинты, что уменьшает шанс ошибок.
На картинке пример класса данных в работе.
Используйте dict.get() вместо dict[]
Есть несколько способов получения значений из словарей.
Многие получают значения по ключам через квадратные скобки, но если такого ключа нет, то будет вызвано исключение.
Поэтому мы считаем, что лучше использовать метод
Таким образом, если значение по ключу не найдено, то вернется дефолтное значение.
В итоге мы убираем возможные ошибки в случае, если нужных ключей в словаре нет.
Есть несколько способов получения значений из словарей.
Многие получают значения по ключам через квадратные скобки, но если такого ключа нет, то будет вызвано исключение.
Поэтому мы считаем, что лучше использовать метод
get у словарей. Его основной плюс заключается в том, что он принимает опциональный аргумент, отвечающий за значение по умолчанию. Таким образом, если значение по ключу не найдено, то вернется дефолтное значение.
В итоге мы убираем возможные ошибки в случае, если нужных ключей в словаре нет.
Узнаём курс доллара при помощи Python в 2 строчки
Пакет
Пакет
forex-python позволяет получать данные о курсе валют и конвертировать одну валюту в другую. Программа на картинке позволяет нам узнать курс доллара относительно многих других валют мира. Вместо "USD" можно вставить любую другую валюту и получить актуальное соотношение.Шуточный пакет pyjokes
Если в вашей крови течёт PEP, а дома вас ждёт домашняя змея в клетке, то и шутки вам нужны соответствующие. Вы всегда можете получить их с помощью модуля pyjokes. Устанавливается, как всегда, через pip.
Также есть отдельная категория с шутками Чака Норриса.
Если в вашей крови течёт PEP, а дома вас ждёт домашняя змея в клетке, то и шутки вам нужны соответствующие. Вы всегда можете получить их с помощью модуля pyjokes. Устанавливается, как всегда, через pip.
Также есть отдельная категория с шутками Чака Норриса.
Don't worry about tests, Chuck Norris's test cases cover your code too.Переводим питонячий в человеческий
Нашел интересный пакет humanize, который может переводить числа и даты в читаемый для человека текст. То есть все костыли для таких задач сразу заменяются практически одной строчкой.
Например, из сложного объекта timedelta можно получить "2 дня, 1 час и 33.12 секунд" или же "5.00 x 10²" из числа 500.
Но что еще круче, помимо английского пакет поддерживает много других языков, включая русский. Рекомендую почитать документацию, там много интересных функций.
Нашел интересный пакет humanize, который может переводить числа и даты в читаемый для человека текст. То есть все костыли для таких задач сразу заменяются практически одной строчкой.
Например, из сложного объекта timedelta можно получить "2 дня, 1 час и 33.12 секунд" или же "5.00 x 10²" из числа 500.
Но что еще круче, помимо английского пакет поддерживает много других языков, включая русский. Рекомендую почитать документацию, там много интересных функций.
Функция cv2.blur()
Вы можете размыть изображение в Python с помощью функции OpenCV cv2.blur(). Ознакомиться подробнее можно здесь.
Вы можете размыть изображение в Python с помощью функции OpenCV cv2.blur(). Ознакомиться подробнее можно здесь.
🐍🚀 Django с нуля. Часть 1: пишем многопользовательский блог для клуба любителей задач Python
Собираетесь изучать Django, но не знаете, с чего начать? Расскажем, как быстро создать функциональное приложение, которое продемонстрирует базовые возможности фреймворка.
https://proglib.io/p/django-s-nulya-chast-1-pishem-mnogopolzovatelskiy-blog-dlya-kluba-lyubiteley-zadach-python-2022-06-06
Собираетесь изучать Django, но не знаете, с чего начать? Расскажем, как быстро создать функциональное приложение, которое продемонстрирует базовые возможности фреймворка.
https://proglib.io/p/django-s-nulya-chast-1-pishem-mnogopolzovatelskiy-blog-dlya-kluba-lyubiteley-zadach-python-2022-06-06
Библиотека программиста
🐍🚀 Django с нуля. Часть 1: пишем многопользовательский блог для клуба любителей задач Python
Собираетесь изучать Django, но не знаете, с чего начать? Расскажем, как быстро создать функциональное приложение, которое продемонстрирует базовые возможности фреймворка.
Библиотека Selenium
Функционал библиотеки необходим для работы с браузером. В тестировании она является одной из самых популярных. При выполнении кода с картинки откроется браузер Chrome и перейдет на сайт python.org, а также выберет первый html-элемент с классом button.
Возможности библиотеки:
1. Автоматизация работы браузера.
2. Парсинг сайтов, нажатия на кнопки.
3. Эмуляция различных действий пользователя.
4. Отправка GET/POST запросов.
Документация доступна по ссылке.
Функционал библиотеки необходим для работы с браузером. В тестировании она является одной из самых популярных. При выполнении кода с картинки откроется браузер Chrome и перейдет на сайт python.org, а также выберет первый html-элемент с классом button.
Возможности библиотеки:
1. Автоматизация работы браузера.
2. Парсинг сайтов, нажатия на кнопки.
3. Эмуляция различных действий пользователя.
4. Отправка GET/POST запросов.
Документация доступна по ссылке.
Упрощенная работа с JSON
Есть один интересный пакет
Основные примеры использования показаны на картинке. Метод
Возможностей у пакета достаточно, поэтому он вполне достоин изучения и применения в проектах. Подробнее можно узнать в документации.
Есть один интересный пакет
JMESpath, который позволяет декларативно указать, как извлекать элементы из JSON. Основные примеры использования показаны на картинке. Метод
search принимает паттерн, по которому требуется извлечь данные, а также словарь, который сам похож на JSON. Возможностей у пакета достаточно, поэтому он вполне достоин изучения и применения в проектах. Подробнее можно узнать в документации.
Конвертируем из JPG в PNG с помощью Pillow
Для конвертации нам понадобится открыть изображение и просто сохранить его в другом формате.
PNG-формат идеально подходит для фотографий, и при этом позволяет сохранить даже лучшее качество снимков, чем JPG. PNG также поддерживает прозрачность, поэтому это почти идеальный вариант для дизайнеров, которым нужны прозрачные элементы.
Для конвертации нам понадобится открыть изображение и просто сохранить его в другом формате.
PNG-формат идеально подходит для фотографий, и при этом позволяет сохранить даже лучшее качество снимков, чем JPG. PNG также поддерживает прозрачность, поэтому это почти идеальный вариант для дизайнеров, которым нужны прозрачные элементы.
🐍🧩 Словари в Python: 12 задач для начинающих с решениями
Решаем задачи и прокачиваем навык работы со словарями, используя методы get(), setdefault(), генераторы словарей и сортировку с помощью лямбда-функций.
https://proglib.io/p/slovari-v-python-12-zadach-dlya-nachinayushchih-s-resheniyami-2022-01-28
Решаем задачи и прокачиваем навык работы со словарями, используя методы get(), setdefault(), генераторы словарей и сортировку с помощью лямбда-функций.
https://proglib.io/p/slovari-v-python-12-zadach-dlya-nachinayushchih-s-resheniyami-2022-01-28
Библиотека программиста
🐍🧩 Словари в Python: 12 задач для начинающих с решениями
Решаем задачи и прокачиваем навык работы со словарями, используя методы get(), setdefault(), генераторы словарей и сортировку с помощью лямбда-функций.
Junior Python Developer: полный разбор собеседования и ответы на наиболее частые вопросы интервью
Прохождение интервью в первый раз, когда ты ищешь работу на позицию начинающего разработчика, сложно и страшно. В видео полный разбор вопросов, которые чаще всего задают людям, ищущим работу программистом.
https://youtu.be/fgXCN7A8yzg
Прохождение интервью в первый раз, когда ты ищешь работу на позицию начинающего разработчика, сложно и страшно. В видео полный разбор вопросов, которые чаще всего задают людям, ищущим работу программистом.
https://youtu.be/fgXCN7A8yzg
YouTube
Junior Python Developer: полный разбор собеседования и ответы на наиболее частые вопросы интервью
Прохождение интервью в первый раз, когда ты ищешь работу на позицию начинающего разработчика сложно и страшно. Я пригласил Игоря, который недавно прошел Python курсы и теперь планирует устроиться на работу. И провел с ним детальное интервью как с начинающим…