Python Academy — один канал вместо тысячи учебников
Чат канала: @python_academy_chat
Сотрудничество: @zubar89
Канал включён в перечень РКН: https://rkn.link/TVu
Post #782
23.6K
PY @python_academy
Showing posts older than #784 · Back to latest


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

pi = 3.14159265359. Если мы его просто скорвертируем в строку, то она примет следующий вид: >>> str(3.14159265359)
'3.14159265359'
Но что если важно выписать только до сотых долей? Делается это черех f-строку: >>> f'Число Пи это {pi:.2f}'
'Число Пи это 3.14'
После обьявления имени переменной мы вставляем следующую комбинацию: .2f, где цифра как раз и указывает, сколько знаков после запятой нужно преобразовать в строку. Более подробно это описано в PEP 498.
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)]
Пример картинки можно посмотреть в комментариях к этому посту. 
PyAudio предоставляет возможности для записи аудиопотока с различных устройств. PyAudio работает посредством кросс-платформенной библиотеки PortAudio (поэтому необходимо заранее установить пакет разработки portaudio19-dev).PyAudio и открываем поток с рядом констант для настройки аудиопотока, поступающего с микрофона (для выбора другого устройства нужно передать его номер в качестве аргумента input_device_index). stream.read(). Полученную информацию мы можем использовать для дальнейшего анализа и модификации. wav. 
easter — используется для вычисления даты и времени с учетом разных календарей, а именно: западный,православный,юлианский.parser — включает в себя продвинутый парсер даты и времени, с помощью которого мы можем парсить разные форматы.relativedata — предназначен для замены компонентов даты.utils , он содержит основные функции для работы с датой и временем.

pydub, который представляет собой интерфейс-надстройку над ffmpeg.ffmpeg. AudioSegment. Также можно воспользоваться наиболее общей функцией from_file, передав путь к файлу и его формат. export у полученного после загрузки файла объекта класса AudioSegment.
pip install opencv-python.
Для простой демонстрации попробуем получить картинку с веб-камеры и вывести видео в графическое окно.cap = cv2.VideoCapture(0) инициализирует веб-камеру (цифра указывает её индекс).ret, frame = cap.read() вытягивает из веб-камеры картинку в переменную frame и статус получения картинки в ret. Если ret == True, значит все прошло успешно.cv2.imshow('webcam', frame) создаст графическое окно с картинкой и покажет его.if cv2.waitKey(1) & 0xFF == ord('q'):
Метод cap.release() освобождает веб-камеру из скрипта примера и позволяет ее использовать в других программах, а cv2.destroyAllWindows() уничтожит графические окна, созданные библиотекой openCV.
__next__.__next__. Метод возвращает следующий элемент, если он существует, в другом случаи вернет StopIteration.__iter__, он возвращает сам итератор. first,next,current.first — возвращает итератор к началу агрегата,что-то вроде reset.next — переходит на следующий элемент агрегата, в случаи если нет следующего элемента, то будет StopIteration.current — возвращает текущий элемент.

numpy. Для этих целей хорошо подходит модуль scipy.io.wavfile, входящий в состав библиотеки scipy и предоставляющий функции для чтения и записи wav файлов.read, которая возвращает частоту дискретизации и массив numpy со значениями звукового давления для каждого кадра. Т.к. файлы формата wav могут состоять из одного(моно) либо из двух(стерео) каналов, то и массив numpy будет, соответственно, являться одномерным либо двумерным (по подмассиву на каждый канал).

list_dataset() — показывает доступные датасеты;load_dataset() — создает экземпляр датасета;list_metrics() — показывает доступные метрики;load_metric() — создает экземпляр метрики.
textwrap.fill() — принимает текст и возвращает отформатированный текст, первая строка сохраняет свой отступ, а пробелы в начале каждой последующей строки вставляются в абзац.textwrap.dedent() — используется для удаления общего префикса пробела из всех строк в тексте.textwrap.indent() — используется для добавления текст префикса ко всем строкам в параграфе
find(), show_devices() и т. д, хранятся в usb.core.usb.util содержит вспомогательные функции.find() используется для поиска устройств, подключенных к системе.
validate_email.verify и check_mx.validate_email к DNS записям необходимо предварительно установить модуль py3dns.