en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

Python академия

Python академия

Open in Telegram

Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter

Show more
7 092
Subscribers
-224 hours
-117 days
-3530 days
Posts Archive
‍Асинхронно скачиваем файлы Имея список ссылок на картинки, которые нужно скачать, мы можем это сделать используя простой цикл for, тем самым скачав их последовательно одна за одной. Но в таких ситуациях как эта (скачивание огромного количества небольших файлов) распараллеливание задачи существенно ускорит процесс. Для этого воспользуемся функцией ThreadPoolExecutor из стандартного пакета concurrent.futures. Она позволяет запустить нашу функцию, в нескольких екземплярах в параллельных потоках. В конструкторе необходимо указать максимальное количество потоков, которые будут одновременно запущены. Далее метод .map(download, urls) создает екземпляры нашей функции для скачивания файла, и раскидывает в них элементы списка urls. Но будьте внимательны: так как скачивание файла — это IO-операция, такой метод не ускоряет вычисления кода. Он лишь позволяет запустить скачивание следующего файла, не дождавшись пока скачается предыдущий. Подписывайтесь на канал 👉@pythonofff

Определение метода тестирования Это нужно для того, чтобы мы могли оценивать нашу модель и выводить точность на тестовом набо
Определение метода тестирования Это нужно для того, чтобы мы могли оценивать нашу модель и выводить точность на тестовом наборе. Большие отличия от метода тестирования заключаются в том, что мы используем model.eval(), чтобы перевести модель в режим тестирования, и torch.no_grad(), который отключит вычисление градиента, так как мы не используем обратное распространение во время тестирования. Наконец, мы вычисляем средние потери для набора тестов и общую точность. Подписывайтесь на канал 👉@pythonofff

Синхронизация потоков Блокировка — один из фундаментальных механизмов синхронизации в threading. Зачастую блокировки использу
Синхронизация потоков Блокировка — один из фундаментальных механизмов синхронизации в threading. Зачастую блокировки используются для доступа к разделяемым ресурсам. Для каждого такого разделяемого ресурса нам нужно создать объект типа Lock и, когда нам потребуется доступ к ресурсу, следует вызвать acquire, что бы взять контроль над блокировкой. В том случае когда нам потребуется освободить блокировку, то мы вызываем release. Стоит учесть то, что блокировку стоит освобождать даже в случае возникновения ошибок. Для этого можно использовать try-finally. Также все это можно заменить через оператор with. Оператор with автоматически захватывает блокировку перед входом в блок, и освобождает её после выхода. Интерактивный пример — тут. Ссылка документация — тут. Подписывайтесь на канал 👉@pythonofff

Модуль os Данный модуль предоставляет доступ к уникальным функциям, зависящим от конкретной системы. Атрибут os.name покажет
Модуль os Данный модуль предоставляет доступ к уникальным функциям, зависящим от конкретной системы. Атрибут os.name покажет тип операционной системы: posix — для linux и macOS nt — для операционных систем семейства Windows java — для систем, работающих в виртуальной Java-машине (например, Android) Модуль позволяет создавать, удалять, переименовывать файлы и папки. Возможность менять директорию и писать вместо /foler/file1, /foler/file2 и тд, можно просто сменить директорию через функцию os.chdir(). os.access() - проверить наличие файла и возможность записи/чтение. os.listdir() - список файлов и вложенных каталогов. os.path.abspath() - вернет абсолютный путь по относительному. Полный список и документацию можно посмотреть через dir() и help() соответственно. Подписывайтесь на канал 👉@pythonofff

Извлечение таблиц из PDF Camelot — это удобная библиотека, которая поможет вам извлечь любую таблицу из PDF файла. Также есть
Извлечение таблиц из PDF Camelot — это удобная библиотека, которая поможет вам извлечь любую таблицу из PDF файла. Также есть возможность использоваться Excalibur, это веб интерфейс Camelot. Почему вам стоит использовать Camelot: — Каждая таблица является DataFrame; — Возможность экспорта в множество разных форматов; — Можно отбрасывать таблицы на основе таких метрик как точность и пробелы, без необходимости вручную просматривать таблицу. Подписывайтесь на канал 👉@pythonofff

Как заменить атрибут в именованном кортеже Что делать, если значение одного атрибута необходимо изменить? Вам нужно обновить
Как заменить атрибут в именованном кортеже Что делать, если значение одного атрибута необходимо изменить? Вам нужно обновить его в данных. Для этого просто воспользуемся методом ._replace() Подписывайтесь на канал 👉@pythonofff

Библиотека для работы с итераторами Встроенный пакет itertools содержит сборник полезных итераторов, поговорим о нескольких и
Библиотека для работы с итераторами Встроенный пакет itertools содержит сборник полезных итераторов, поговорим о нескольких из них: combinations — возвращает кортеж в отсортированном порядке без повторяемых элементов. chain — возвращает элементы из объекта, пока он не будет исчерпан, затем переходит к следующему, используется для обработки множества последовательностей как единой. permutations — возвращает все возможные перестановки. filterfalse — возвращает все элементы для которых функция вернула false. startmap — применяет функцию к каждому элементу последовательности распаковывая его. В самой библиотеке их намного больше, поэтому советую вам ознакомится с документацией. Подписывайтесь на канал 👉@pythonofff

Counter Объект counter предоставляется библиотекой collections. Давайте поподробнее разберем, что он собой представляет. К пр
Counter Объект counter предоставляется библиотекой collections. Давайте поподробнее разберем, что он собой представляет. К примеру, у вас есть список каких-то случайных чисел. Что, если вы хотите узнать, сколько раз встречается каждое число? Счетчик counter позволяет легко вычислить частоту. Он работает не только с числами, но и с любым итерируемыми объектами, такими как строки и списки. Подписывайтесь на канал 👉@pythonofff

Форматирование чисел в f-строках Начиная с версии Python 3.6, стали доступны f-строки. Это удобный способ форматирования текс
Форматирование чисел в f-строках Начиная с версии Python 3.6, стали доступны f-строки. Это удобный способ форматирования текста. Но не все знают, что он умеет вставлять float числа с настраиваемым количеством знаков после запятой. Допустим у нас есть float число pi = 3.14159265359. Если мы его просто скорвертируем в строку, то она примет следующий вид: >>> str(3.14159265359) '3.14159265359' Но что если важно выписать только до сотых долей? Делается это черех f-строку: >>> f'Число Пи это {pi:.2f}' 'Число Пи это 3.14' После обьявления имени переменной мы вставляем следующую комбинацию: .2f, где цифра как раз и указывает, сколько знаков после запятой нужно преобразовать в строку. Более подробно это описано в PEP 498. Подписывайтесь на канал 👉@pythonofff

Как найти наиболее частотные элементы с помощью счетчика Счетчик очень полезен в реальных приложениях. Особенно, когда вам ну
Как найти наиболее частотные элементы с помощью счетчика Счетчик очень полезен в реальных приложениях. Особенно, когда вам нужно обработать большие данные, и вы хотите узнать частотность некоторых элементов. Давайте рассмотрим несколько очень полезных методов, использующих counter. Counter().most_common([n]) Подписывайтесь на канал 👉@pythonofff

‍Генерация шумов Перлина Шум перлина — это математический алгоритм по генерированию процедурной текстуры (градиентного шума) псевдо-случайным методом. Для нас он может пригодится в разных ситуациях: от симуляции временных рядов разных показателей до генерации процедурного мира как в Minecraft. Для Python уже существует библиотека-реализация этого алгоритма, называется она perlin-noise. pip install perlin-noise Сначала мы создаем обьект генератора шумов, и задаем ему количество октав и seed для встроенного рандомизатора: noise = PerlinNoise(octaves=10, seed=1) Обьявляем размер желаемой 2d матрицы: xpix, ypix = 100, 100 И используя списочное включение, генерируем 2d матрицу, где интенсивность значения от координат задает наш обьект генератора noise: pic = [[noise([i/xpix, j/ypix]) for j in range(xpix)] for i in range(ypix)] Пример картинки можно посмотреть в комментариях к этому посту. Подписывайтесь на канал 👉@pythonofff

#вакансия #удалённо #parttime #python #преподаватель OTUS – образовательная платформа. У нас авторские курсы разной степени сложности, вступительное тестирование для студентов и преподаватели-практики из крупнейших компаний. 6 лет мы учимся друг у друга, советуемся, помогаем, делимся опытом и обсуждаем новости как в преподавании, так и в IT. Вакансия: преподаватель онлайн-курса на английском языке Python Backend Developer. Professional Можно без опыта преподавания, мы поможем вам освоить best practices. Локация: удаленно Преподаватель раскрывает тему с помощью теории и примеров из практики. Занятия проходят в Zoom в вечернее время. Условия: 100 евро за один вебинар (полтора часа), дополнительные активности, которые оплачиваются отдельно: перевод презентаций, проверка домашнего задания, проверка проекта и т.д. С нами вы сможете ✅ - структурировать свой опыт и знания; - прокачать софт-скиллы; - прокачать свой английский Бонусы 🎁 - наши курсы со скидкой/бесплатно; - можно приглашать лучших выпускников к себе на работу; - воркшопы и конференции для наших преподавателей. Обсудить подробнее @anna_phoenix7

Defaultdict Словарь представляет из себя неупорядоченный набор ключей и значений. В парах ключ:значение ключи должны быть уни
Defaultdict Словарь представляет из себя неупорядоченный набор ключей и значений. В парах ключ:значение ключи должны быть уникальны и неизменяемы. Поэтому список не может быть ключом словаря, так как он изменяемый. Подписывайтесь на канал 👉@pythonofff

Получение аудиопотока с микрофона Библиотека PyAudio предоставляет возможности для записи аудиопотока с различных устройств.
Получение аудиопотока с микрофона Библиотека PyAudio предоставляет возможности для записи аудиопотока с различных устройств. PyAudio работает посредством кросс-платформенной библиотеки PortAudio (поэтому необходимо заранее установить пакет разработки portaudio19-dev). В приведенном примере мы создаем объект класса PyAudio и открываем поток с рядом констант для настройки аудиопотока, поступающего с микрофона (для выбора другого устройства нужно передать его номер в качестве аргумента input_device_index). Данный объект потока позволяет считывать с устройства с помощью метода stream.read(). Полученную информацию мы можем использовать для дальнейшего анализа и модификации. В примере же мы просто считываем 10 секунд, после чего записываем их в аудио-файл wav. Подписывайтесь на канал 👉@pythonofff

Pyperclip Этот модуль был создан для межплатформенного копирования в Python. В Pyperclip есть функции copy() и paste(), котор
Pyperclip Этот модуль был создан для межплатформенного копирования в Python. В Pyperclip есть функции copy() и paste(), которые могут отправлять текст в буфер обмена и получать текст из него. Отправка вывода вашей программы в буфер обмена облегчает его вставку в email, текстовый редактор или другую программу. Подписывайтесь на канал 👉@pythonofff

Работа с датой и временем Dateutil – предоставляет расширения для методов, уже имеющихся в datetime, имеет возможности для об
Работа с датой и временем Dateutil – предоставляет расширения для методов, уже имеющихся в datetime, имеет возможности для обработки сырых данных. Dateutil разбит на несколько подклассов: easter — используется для вычисления даты и времени с учетом разных календарей, а именно: западный,православный,юлианский. parser — включает в себя продвинутый парсер даты и времени, с помощью которого мы можем парсить разные форматы. relativedata — предназначен для замены компонентов даты. Так-же следуют упомянуть utils , он содержит основные функции для работы с датой и временем. Подписывайтесь на канал 👉@pythonofff

UserDict Это класс-оболочка для словарей. Его синтаксис аналогичен UserList и UserString. Мы передаем словарь в качестве аргу
UserDict Это класс-оболочка для словарей. Его синтаксис аналогичен UserList и UserString. Мы передаем словарь в качестве аргумента, который хранится в атрибуте ‘data’. Подписывайтесь на канал 👉@pythonofff

Визуализация данных на карте с Folium Folium позволяет как и привязать данные к карте для визуализации фоновых картограмм, та
Визуализация данных на карте с Folium Folium позволяет как и привязать данные к карте для визуализации фоновых картограмм, так и передавать векторные, растовые, HTML визуализации в качестве маркеров на карте. Библиотека поддерживает настраиваемые наборы фрагментов MapBox или Cloudmade. Есть разные виды маркеров начиная с простого маркера местоположения в стиле листовки с всплывающим окном и всплывающей подсказкой HTML. Вы так-же можете налаживать изображения, видео, GeoJSON и TopoJSON. Подписывайтесь на канал 👉@pythonofff

Как и когда можно использовать UserString UserString можно использовать для изменения строк или выполнения определенных функц
Как и когда можно использовать UserString UserString можно использовать для изменения строк или выполнения определенных функций. Предположим, вы хотите удалить определенное слово из текстового файла (где бы оно ни было). Возможно, некоторые слова в тексте неуместны. Давайте посмотрим на пример того, как UserString можно использовать для удаления определенных слов из строки. Подписывайтесь на канал 👉@pythonofff

Конвертируем файлы в аудио-формате В Python мы можем решить задачу конвертации из одного аудио-формата в другой как всегда мн
Конвертируем файлы в аудио-формате В Python мы можем решить задачу конвертации из одного аудио-формата в другой как всегда множеством способов. Наиболее приятным решением, как по мне, является использование модуля pydub, который представляет собой интерфейс-надстройку над ffmpeg. pydub позволяет загружать, редактировать и сохранять аудио-файлы в любом формате, поддерживаемом ffmpeg. Для загрузки файла нам нужно выбрать функцию from_ c соответствующим форматом в названии из класса AudioSegment. Также можно воспользоваться наиболее общей функцией from_file, передав путь к файлу и его формат. Для экспорта файла с нужным форматом, в который мы хотели его сконвертировать, используем функцию export у полученного после загрузки файла объекта класса AudioSegment. Подписывайтесь на канал 👉@pythonofff