TGINSIGHT CHAT
Python Academy
@python_academy
EducaciónPython Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Posts recientes
Etiqueta: #python · 330 posts
PyOxidizer PyOxidizer — это инструмент, позволяющий упаковать Python-проект в единый исполняемый файл, включающий интерпретатор Python, все необходимые библиотеки и ресурсы. Это позволяет запускать ваши приложения без необходимости предварительной установки Python или каких-либо зависимостей. #python
Hashtags
Использование внешних процессов в Python с помощью subprocess В мире программирования бывают моменты, когда необходимо взаимодействовать с внешними программами из кода на Python. Для этих задач отлично подходит модуль subprocess, который предоставляет удобный способ запуска внешних процессов, передачи данных им и получения результатов выполнения. Что такое subprocess? subprocess - это модуль Python, который предоставляет множество возможностей для запуска новых процессов, подключения к существующим процессам, а также обмена данными между вашим кодом и внешними программами. Пример использования subprocess: import subprocess # Простой пример: выполнение команды "ls" в командной строке result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, text=True) # Вывод результата выполнения команды print(result.stdout) В данном примере мы использовали subprocess.run для выполнения команды "ls -l". Параметр stdout=subprocess.PIPE указывает на перенаправление вывода команды в переменную result.stdout. Параметр text=True гарантирует, что вывод будет в текстовом формате. Передача данных и получение результата: import subprocess # Передача данных в команду и получение результата input_data = "Hello, subprocess!" result = subprocess.run(['echo', input_data], stdout=subprocess.PIPE, text=True) # Вывод результата выполнения команды print(result.stdout) В данном примере мы использовали команду echo для вывода переданных данных. subprocess.run позволяет передавать данные в команду через параметр input. subprocess также предоставляет множество других функций для более сложных сценариев взаимодействия с процессами, таких как запуск процесса в фоновом режиме, обработка ошибок, а также потоковый вывод данных. #python#subprocess
Hashtags
Познакомьтесь с IceCream: Улучшенным выводом в Python Hедавно мы наткнулись на потрясающий инструмент для отладки и разработки в Python, и хотим поделиться им с вами! Представляем вам icecream - библиотеку, которая упрощает отладку, улучшая вывод ваших данных. Что такое icecream? icecream - это легковесная библиотека для Python, которая предоставляет простые, но мощные инструменты для отслеживания и вывода значений переменных и данных в процессе выполнения кода. Этот инструмент полезен при отладке, тестировании и разработке, помогая вам лучше понять, что происходит в вашей программе. Преимущества icecream перед стандартным print: 1. Читабельность и простота в использовании: icecream автоматически выводит имя переменной и ее значение, что делает вывод более понятным и читабельным. 2. Цветовая кодировка: icecream поддерживает цветовую кодировку вывода, что делает его более наглядным и удобным для анализа. Настройка icecream: icecream позволяет настраивать вывод, добавлять дополнительную информацию, и даже сохранять логи в файл. Вы можете настроить icecream в соответствии с вашими потребностями, делая вывод более информативным и удобным. from icecream import ic, install install(autodetect=True, includeContext=True) number = 42 ic(number) text = "Привет, мир!" ic(text) Это добавит контекст, такой как имя файла и номер строки, в вывод: ic| <ipython-input-1-5a0d5d83d2d3>:1 in <module> - number: 42 ic| <ipython-input-1-5a0d5d83d2d3>:4 in <module> - text: 'Привет, мир!' Автор идеи поста: @hexvel Если у вас есть предложения для следующего поста, делитесь в комментариях! #Python#logging#icecream
Загрузка файлов асинхронно Если у нас есть список URL картинок для загрузки, использование простого цикла for позволит нам загрузить их последовательно, по одной за раз. Однако, для задач, включающих загрузку большогоколичества маленьких файлов, параллелизация может заметно ускорить процесс. Для параллелизации мы можем использовать ThreadPoolExecutor из модуля concurrent.futures. Этот инструмент позволяет выполнить функцию загрузки в нескольких параллельных потоках, где в конструкторе необходимо указать максимальное количество потоков для одновременного выполнения. С помощью метода .map(download, urls) можно развернуть функцию загрузки на каждый URL из списка, обеспечивая их параллельнуюобработку. Важно понимать, что так как загрузка файлов является IO-операцией, данный метод неускоряет выполнение кода в прямом смысле, а скорее позволяет начать загрузку следующего файла, не ожидая завершения предыдущего. #python#threading
Hashtags
Познакомьтесь с IceCream: Улучшенным выводом в Python Hедавно мы наткнулись на потрясающий инструмент для отладки и разработки в Python, и хотим поделиться им с вами! Представляем вам icecream - библиотеку, которая упрощает отладку, улучшая вывод ваших данных. Что такое icecream? icecream - это легковесная библиотека для Python, которая предоставляет простые, но мощные инструменты для отслеживания и вывода значений переменных и данных в процессе выполнения кода. Этот инструмент полезен при отладке, тестировании и разработке, помогая вам лучше понять, что происходит в вашей программе. Преимущества icecream перед стандартным print: 1. Читабельность и простота в использовании: icecream автоматически выводит имя переменной и ее значение, что делает вывод более понятным и читабельным. 2. Цветовая кодировка: icecream поддерживает цветовую кодировку вывода, что делает его более наглядным и удобным для анализа. Настройка icecream: icecream позволяет настраивать вывод, добавлять дополнительную информацию, и даже сохранять логи в файл. Вы можете настроить icecream в соответствии с вашими потребностями, делая вывод более информативным и удобным. from icecream import ic, install install(autodetect=True, includeContext=True) number = 42 ic(number) text = "Привет, мир!" ic(text) Это добавит контекст, такой как имя файла и номер строки, в вывод: ic| <ipython-input-1-5a0d5d83d2d3>:1 in <module> - number: 42 ic| <ipython-input-1-5a0d5d83d2d3>:4 in <module> - text: 'Привет, мир!' Автор идеи поста: @hexvel Если у вас есть предложения для следующего поста, делитесь в комментариях! #Python#logging#icecream
Распознаем речь используя SpeechRecognition SpeechRecognition — это библиотека на Python, которая предоставляет возможность использовать API для распознаванияречи от различных компаний, таких как Google, Microsoft, IBM и другие. Кроме того, она поддерживает работу в офлайн-режиме. Эта библиотека упрощаетпроцессинтеграции голосовых команд и обработки аудиоданных в ваших проектах. Благодаря широкому спектру возможностей, SpeechRecognitionподходит для создания приложений с голосовым управлением, интеллектуальных ассистентов и многого другого. #python#speechrecognition
Hashtags
pow() В Python функция pow() используется для вычисления степени числа. Вот как она работает: result = pow(x, y, z) где: x — основание степени, y — показатель степени, z (необязательный параметр) — модуль, по которому производится вычисление. Если z указан, то pow(x, y, z) возвращает (x y) % z. Если z не указан, то возвращается x y. #python
Hashtags
Обрабатываем номера телефонов Пакет phonenumbers основан на библиотеке libphonenumber от Google, которая позволяет форматировать, парсить и проверять номера телефонов. Основным классом, который представляет номер, является PhoneNumber. Объект можно создать, вызвав метод parse() и передав в аргументы номер телефона в виде строки. Вторым аргументом также можно указать страну. В целом, пакет использовать достаточно просто, базовые примеры есть на картинке. Также можете посмотреть документацию для более продвинутого использования. #python#phonenumbers
Hashtags
Метод setdefault() Метод setdefault() в Python возвращает значение по указанному ключу из словаря. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение. Метод setdefault() имеет два параметра: — Ключ, по которому необходимо получить значение. — Значение по умолчанию, которое будет добавлено в словарь, если ключ отсутствует. Если ключ присутствует в словаре, метод возвращает значение, связанное с этим ключом. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение. #python
Hashtags
Познакомьтесь с IceCream: Улучшенным выводом в Python Hедавно мы наткнулись на потрясающий инструмент для отладки и разработки в Python, и хотим поделиться им с вами! Представляем вам icecream - библиотеку, которая упрощает отладку, улучшая вывод ваших данных. Что такое icecream? icecream - это легковесная библиотека для Python, которая предоставляет простые, но мощные инструменты для отслеживания и вывода значений переменных и данных в процессе выполнения кода. Этот инструмент полезен при отладке, тестировании и разработке, помогая вам лучше понять, что происходит в вашей программе. Преимущества icecream перед стандартным print: 1. Читабельность и простота в использовании: icecream автоматически выводит имя переменной и ее значение, что делает вывод более понятным и читабельным. 2. Цветовая кодировка: icecream поддерживает цветовую кодировку вывода, что делает его более наглядным и удобным для анализа. Настройка icecream: icecream позволяет настраивать вывод, добавлять дополнительную информацию, и даже сохранять логи в файл. Вы можете настроить icecream в соответствии с вашими потребностями, делая вывод более информативным и удобным. from icecream import ic, install install(autodetect=True, includeContext=True) number = 42 ic(number) text = "Привет, мир!" ic(text) Это добавит контекст, такой как имя файла и номер строки, в вывод: ic| <ipython-input-1-5a0d5d83d2d3>:1 in <module> - number: 42 ic| <ipython-input-1-5a0d5d83d2d3>:4 in <module> - text: 'Привет, мир!' Автор идеи поста: @hexvel Если у вас есть предложения для следующего поста, делитесь в комментариях! #Python#logging#icecream
Используйте dict.get() вместо dict[] Есть несколько способов получения значений из словарей, и даже по такой теме разработчики часто спорят. Многие получают значения по ключам через квадратные скобки, но если такого ключа нет, то будет вызвано исключение. Поэтому мы считаем, что лучше использовать метод get у словарей. Его основной плюс заключается в том, что он принимает опциональный аргумент, отвечающий за значение по умолчанию. Таким образом, если значение по ключу не найдено, то вернется дефолтное значение. В итоге, мы убираем возможные ошибки в случае, если нужных ключей в словаре нет. #python#dict
Ruff Ruff — Чрезвычайно быстрый линтер и форматер кода на Python, написанный на Rust. Основным преимуществомRuff является его скорость. Ruff в 10-100 раз быстрее аналогов. В сравнении с flake8, автор заявляет о практически полномсовпадении с набором правил инструмента и нативной реализацией популярныхплагинов (flake8-bugbear и т.д.). Также Ruff совместим с Black «из коробки». Ruff может форматировать код. Например, он автоматически удаляет неиспользуемые импорты. Что касается сортировки и группировки строк импорта, то она практическиидентичнаisort. #python#ruff