TGINSIGHT CHAT
Python Academy
@python_academy
EducaciónPython Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Posts recientes
Pág. 59 de 85 · 1,014 posts
Асинхронный фреймворк для разработки сетевых приложений Twisted Фреймворк предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования. Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные. Twisted также предоставляет возможности для работы с асинхронными задачами, таймерами, и другими асинхронными концепциями. Это позволяет создавать эффективные и отзывчивые сетевые приложения. #python
Hashtags
Библиотека символьной математики для Python SymPy В отличие от численных вычислений, символьная математика работает с математическими объектами, такими как переменные, выражения и уравнения, в абстрактной форме, а не приближенно численно. SymPy позволяет проводить символьные вычисления, что означает, что вы можете работать с математическими выражениями в их аналитической форме. #python
Hashtags
Защищаем исходный код обфускацией Обфускация кода — это превращение исходного кода в нечитаемый для человека вид, при этом сохраняя всю функциональность программы. Цель подобных действий заключается в защите скриптов. Обфускация делает анализ кода крайне сложным, а иногда и невозможным. Таким образом, другим разработчикам становится проблематично получить и понять ваш исходный код для того, чтобы, например, взломать программу. В Python есть отличная библиотека pyarmor, предназначенная именно для этого. Пример использования этого пакета в терминале представлен выше на картинке. #pyarmor
Hashtags
Получение аудиопотока с микрофона Библиотека PyAudio предоставляет возможности для записи аудиопотока с различных устройств. PyAudio работает посредством кросс-платформенной библиотеки PortAudio (поэтому необходимо заранее установить пакет разработки portaudio19-dev). В приведенном примере мы создаем объект класса PyAudio и открываем поток с рядом констант для настройки аудиопотока, поступающего с микрофона (для выбора другого устройства нужно передать его номер в качестве аргумента input_device_index). Данный объект потока позволяет считывать с устройства с помощью метода stream.read(). Полученную информацию мы можем использовать для дальнейшего анализа и модификации. В примере же мы просто считываем 10 секунд, после чего записываем их в аудио-файл wav. #pyaudio#audio
Метод join у строк У строк есть полезный метод str.join(), который принимает на вход итерируемый объект, элементами которого также должны быть строки. Как результат получаем новую строку, которая является объединениемвсехэлементов. При этом они разделены строкой, к которой изначально применялся метод. Проще говоря, если применить к строке этот метод, то она станет разделителем для элементов в новой строке. #python#string
Поверхностное копирование Копирование объектов может быть «поверхностное» (shallow) или «глубокое» (deep). Различия между ними заключаются в том, как обрабатываются вложенные объекты. При поверхностном копировании создается новый объект, но его внутренние элементы (если они тоже являются объектами) остаются ссылками на те же объекты, что и в оригинале. Другими словами, копируются только ссылки на объекты, но не сами объекты. #python
Hashtags
Использование модуля secrets для генерации случайных значений Модуль secrets, встроенный в Python, предназначен для создания криптографически защищенных случайных чисел. Это особенно полезно для генерации надежныхпаролей, аутентификационныхтокенов и других безопасных данных, благодаря использованию возможностей операционной системы. Применение модуля secrets просто и напоминает работу с модулем random. Вот некоторые из его функций: - secrets.choice(collection) выбирает и возвращает случайныйэлемент из предоставленной коллекции. - secrets.randbelow(n) генерирует случайноецелоечисло в пределах от 0 до n. - secrets.randbits(n) создает целоечисло из n случайных бит. - secrets.token_bytes(n) выдает случайнуюпоследовательностьбайт длиной в n байт. - token_hex(n) предоставляет случайнуюстроку из n байт, преобразованную в шестнадцатеричный формат. - token_urlsafe(n) генерирует URL-безопасную строку длиной в n байт, закодированную в Base64. Также, в модуле присутствует класс SystemRandom, поддерживающий большинство методов модуля random. #python#secrets#random
Использование Docker вместе с Python Docker - это платформа для разработки, доставки и запуска приложений в контейнерах. Контейнеры позволяют упаковать ваше приложение со всем его окружением и зависимостями в одинкомпактный исполняемый пакет. Это обеспечивает его быстрыйзапуск и согласованную работу в любой среде. Зачем его использовать? - Упрощениенастройкисреды: Docker избавляет от фразы "у меня работает, а у тебя нет". Все необходимые зависимости, библиотеки и окружение можно упаковать в контейнер, который будет работать одинаково на любой машине. - Быстрая доставка и развертывание: С Docker вы можете легко и быстро развернуть своё приложение в любой среде, будь то облачная платформа или локальный сервер. - Изоляция приложений: Каждое приложение работает в своем контейнере, не влияя на работу других приложений и системы в целом. #python#docker
Делаем простой интерфейс используя tkinter tkinter - это стандартная библиотека для создания графического пользовательского интерфейса (GUI) в Python. Она предоставляет простой и удобный способ создания оконных приложений с использованием виджетов, таких как кнопки, текстовые поля, списки и многое другое. Хотя tkinter может показаться менеемощным по сравнению с некоторыми другими библиотеками GUI для Python, такими как PyQt или wxPython, она остается популярным выбором для начинающихразработчиков и для создания простых и удобных в использовании GUI-приложений. #python#tkinter
Проверяем скорость интернета Каждый хоть раз проверял скорость своего интернета на Speedtest. А у них, оказывается, есть не только сайт и приложения, но и пакет на Python для этого дела. У объекта класса Speedtest методы download() и upload() выдают соответственно скорость скачивания и загрузки данных. Методы отдают результат в байтах, поэтому для наглядности в примере я перевел все данные в мегабайты при выводе. #python#speedtest
Hashtags
Прогрессбар программы Модуль tqdm предназначен для быстрого и расширяемого внедрения индикаторов выполнения (progressbar) во внешние интерфейсы программ на Python, предоставляя конечным пользователям визуальную индикацию хода вычислений или передачи данных. Он также будет полезен в целях отладки, как в качестве инструмента профилирования, так и в качестве способа отображенияинформации журнала итеративной задачи. #python#tqdm
Вычисляем ip-адрес своего компьютера Для этого используется библиотека requests для отправки HTTP-запроса к веб-сервису ipify, который предоставляет API для определения публичного IP-адреса пользователя. Код написан в форме функции get_public_ip, что делает его удобным для повторного использования. Использование блока try-except обеспечивает обработку исключений, которые могут возникнуть при запросе (например, проблемы с подключением к интернету). Если запрос успешен, функция возвращает IP-адрес, иначе возвращает сообщение об ошибке. #python
Hashtags