TGINSIGHT CHAT
Python Academy
@python_academy
EducaciónPython Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Posts recientes
Pág. 34 de 85 · 1,014 posts
Publicado 4 jun
Сбер представил российскую альтернативу JetBrains — GigaIDE Pro На конференции ЦИПР Сбер презентовал новую версию интегрированной среды разработки GigaIDE Pro, которая заменяет зарубежные аналоги. Старший вице-президент Сбера Андрей Белевцев отметил, что GigaIDE Pro обеспечивает устойчивость и безопасность ИТ-процессов, минимизируя зависимость от иностранных платформ. В новой версии GigaIDE Pro для Python-разработки добавили инструменты быстрого создания проектов на Django и Flask, а также навигацию по коду для фреймворков Spring и Jakarta. По данным Сбера, GigaIDE Pro уже занимает 14% рынка IDE в России.
Применяем pathlib взамен os В Python 3 стандартная библиотека включает модуль pathlib, предоставляющий функцию Path, которая обеспечивает всенеобходимое для эффективнойработы с путями к файлам. Одно из наиболеевпечатляющихпреимуществ использования pathlib - это упрощениеработыс путями за счет использования Path вместо os.path.join, представляя болеепростой и изящный метод, как показано на изображении. В общем, этот модуль предлагает замену функциям для работы с файловыми путями из модуля os, таким как os.mkdir или os.path, на более удобные альтернативы. #path#os
Паттерн проектирования Singleton Одиночка или же синглтон – это паттерн проектирования, описывающий объект, у которого имеется один единственный экземпляр. Метод __new__ вызывается для создания экземпляра класса, перед вызовом __init__. На вход первым аргументом метод принимает сам класс, а возвращать должен уже экземпляр (даже можно экземпляр и другого класса). В примере мы проверяем, есть ли значение у атрибута instance. Если нет, то присваиваем атрибуту экземпляр этого же класса. А если уже экземпляр создан, то просто его возвращаем. То есть при вызове конструктора класса Singleton, будет возвращаться один и тот же объект из памяти. #классы#паттерны
Publicado 2 jun
Поиск уникальных слов в текстовом файле в Python Чтобы найти уникальные слова в текстовом файле в Python, необходимо очистить текст, найти слова, а затем найти уникальные. Подробнее можно почитать здесь.
PyAutoGUI PyAutoGUI позволяет Python управлять мышью и клавиатурой для автоматизации взаимодействия с другими приложениями. Пакет работает в Windows, macOS и Linux на Python 2 и 3. Из ключевого функционала можно выделить следующее: — Передвижение курсора и нажатие на кнопки мыши; — Набор текста, например для заполнения форм; — Скриншоты, поиск указанных изображений на экране (например, иконки) и нажатие на них; — Поиск приложения на экране, изменение размера его окна, перемещение по экрану и т. д. Основные функции показаны в примере на картинке выше, остальное — в документации проекта. #pyautogui
Hashtags
Работа с методом str.replace() в Python Python предлагает множество удобных встроенных методов для работы со строками. Один из таких методов - str.replace(), который используется для замены частей строки. Метод принимает дваосновных аргумента: первый - это подстрока, которую нужнозаменить в исходной строке, а второй - это подстрока, на которую происходитзамена. Кроме того, существует третийнеобязательныйаргумент, определяющий количествозаменстарой подстроки на новую. Если он не указан, метод заменяет все вхождения. #python#replace
Получаем данные о системе Кроссплатформенная библиотека psutil позволяет получать информацию о процессоре, памяти, диске, сети, датчиках и запущенных процессах в системе. Примеры базового использования показаны на картинке. Если говорить про практические применение, psutil полезен в основном для мониторинга системы, ограничения ресурсов процессов и управления запущенными процессами. Помимо привычных Windows, MacOS и Linux, библиотека также поддерживает системы FreeBSD, OpenBSD, NetBSD, Sun Solaris и AIX. #psutil
Hashtags
Асинхронно скачиваем файлы Имея список ссылок на картинки, которые нужно скачать, мы можем это сделать используя простой цикл for, тем самым скачав их последовательно одна за одной. Но в таких ситуациях как эта (скачивание огромного количества небольших файлов) распараллеливание задачи существенно ускорит процесс. Для этого воспользуемся функцией ThreadPoolExecutor из стандартного пакета concurrent.futures. Она позволяет запустить нашу функцию, в нескольких екземплярах в параллельных потоках. В конструкторе необходимо указать максимальное количество потоков, которые будут одновременно запущены. Далее метод .map(download, urls) создает екземпляры нашей функции для скачивания файла, и раскидывает в них элементы списка urls. Но будьте внимательны: так как скачивание файла — это IO-операция, такой метод не ускоряет вычисления кода. Он лишь позволяет запустить скачивание следующего файла, не дождавшись пока скачается предыдущий. #python#threading
Hashtags
Работаем с атрибутами объектов Помимо привычного обращения к атрибутам объектов через точку, в Python есть 4 специальных функции: getattr, setattr, delattr и hasattr. По названиям можно понять, что первые три отвечают за получение, установку и удаление атрибута. А последний проверяет, существует ли атрибут с указанным названием у объекта или нет. Во всех функциях первыми двумя аргументами идут объект и название атрибута в виде строки. В setattr также нужно передать новое значение для атрибута. На практике использование подобного — довольно редкий случай, но иногда может сильно выручить, так что берите на вооружение. #python#tips
Ещё одна пасхалка Модуль __future__ позволяет подключать функционал из будущих версий языка. Например, можно попробовать импортировать фигурные скобки как в си-подобных языках. Но будет вызвано исключение, которое говорит "not a chance", что означает "ни единого шанса". Однако есть ещё один интересный момент, а именно – исходный код этого модуля. Оказывается, интерпретатор CPython сначала запускает файл future.c, когда встречается импорт этого модуля. А само это исключение реализовано на этой строчке. #пасхалки#future
Упаковка параметров с помощью urlencode Довольно часто приходится работать с разнообразными API и совершать get-запросы с передачей множества параметров. Чаще всего составление запроса в коде выглядит примерно так: url = 'https://example.com?item={}&size={}&color={}&amount={}'.format('t-shirt', 'M', 'white', 5) Смотрится не слишком презентабельно, однако есть слегка более длинный, но значительно улучающий читаемость кода вариант – функция urlencode из модуля urllib. #трюки#urllib
Publicado 26 may
Получаем гласные Этот пример возвращает в строке найденные гласные "a e i o u". Это может оказаться полезным при поиске или обнаружении гласных.