TGINSIGHT CHAT
Python Academy
@python_academy
EducaciónPython Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Posts recientes
Pág. 4 de 85 · 1,014 posts
memoryview() memoryview() в Python предоставляет объект для доступа к внутреннему представлению данных в виде буфера без копирования. Этот объект позволяет вам просматривать байты объекта, не копируя их, а также выполнять различные операции на уровне байтов. memoryview() также может использоваться для работы с массивами и другими объектами, поддерживающими буферный интерфейс в Python. Этот инструмент особенно полезен, когда вам нужно работать с большим объемом данных, и вы хотите избежать копирования данных, что может быть затратным с точки зрения времени и ресурсов. #python
Hashtags
Publicado 24 abr
Узнаём атрибуты и методы класса С помощью dir() можно получить список всех атрибутов и методов любого объекта. Может пригодиться при изучении пакетов сторонних разработчиков.
Работаем с картинками в Python Библиотека Pillow — это очень мощный, быстрый и удобный инструмент для обработки графики в Python. В сегодняшнем примере мы применим ее для конвертации картинки в черно-белую, обратим цвета, вертикально отзеркалим и сохраним в файл. Метод Image.open('resources/img/cat.jpg') считывает картинку из папки. img.convert('L') трансформирует картинку в черно-белую. ImageOps.invert(image) обращает цвета. img.transpose(Image.FLIP_LEFT_RIGHT) вертикально отзеркаливает картинку. img.save('grayscale_cat.jpg') сохранит картинку на диске. Больше официальных примеров и документацию можно посмотреть тут. Пример можно посмотреть тут. #pillow
Hashtags
Воспроизводим аудиофайлы Для этого воспользуемся кроссплатформенным пакетом playsound, который легко устанавливается через pip. Он содержит в себе лишь одну полезную функцию для воспроизведения аудиофайла: playsound('path/to/file.mp3') В качестве параметра функции можно указать путь к .mp3 или .wav файлу, или вообще его url. #audio
Hashtags
Простой, но мощный веб-фреймворк Самым популярным фреймворком для разработки серверной части на Python является Flask. К слову, он обгоняет даже Django по звездам на GitHub. Flask предназначен для быстрого и легкого старта работы с возможностью масштабирования до сложных приложений. А коммьюнити предоставляет множество расширений для фреймворка. Для создания минимального рабочего приложения достаточно кода выше. После запуска такого скрипта можете перейти в браузере по адресу http://localhost:5000/ и посмотреть результат. #модули
Hashtags
Функция itertools.cycle В пайтон есть классный модуль itertools для создания собственных итераторов. Функции данного модуля довольно эффективны в работе, поэтому их часто используют в реальных проектах. Сегодня мы бы хотели показать вам функцию cycle() из itertools. Данная функция принимает на вход итерируемый объект и создает бесконечный итератор, циклически возвращающий элементы данного объекта. Фишка заключается в том, что когда элементы последовательности заканчиваются, итерация начинается вновь с первого элементы. К примеру, функция cycle() из последовательности ['red', 'white', 'blue'] генерирует повторяющуюся бесконечную. Но важно при проходе при итерации по такому итератору предусмотреть выход из цикла (а не как у нас в первом случае с colors:). Так как это итератор, то мы можем использовать его для получения значений через функцию next(colors). Мы также можем воспользоваться islice(), который вернет итератор по подмножеству переданного объекта. #генераторы#itertools
Hashtags
Генераторные выражения и списковые включения В примере выше первая и вторая строчки очень похожи, но различаются видами скобок. В списковом включении они квадратные, а в генераторном выражении – круглые. Если вывести переменные, то видим, что значением переменной l является список, а переменная g хранит в себе объект генератора. И здесь возникает вопрос, что же использовать. Нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы — используйте генераторы коллекций. А если же значения понадобятся еще не скоро или неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему. #генераторы
Hashtags
Прочитать произвольную строку из файла Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых крутых и полезных функций, может быть даже в нем будет модные нынче нейросети. И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt: Приветствую! Здравствуйте! Ку, здарова. Добрый день! Привет! Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально. #linecache#file
Hashtags
Как перезагрузить импортированный модуль? Чтобы перезагрузить импортированный модуль в Python, вы можете использовать функцию reload() из модуля importlib Замените module_name на фактическое имя модуля, который вы хотите перезагрузить. Это может быть полезно при разработке и тестировании модулей, но нерекомендуется использовать в проде без серьезных причин. #python#importlib
Hashtags
Функция math.perm() math.perm() используется для определения количества возможных способов выбора и расположения m элементов из набора n элементов. Этот метод включен в модуль math. Он требует указания двух параметров: n — общеечисло элементов в наборе, и m — число элементов в каждойвозможнойвыборке. Результатом выполнения функции является целочисленное значение, представляющее число таких перестановок. Если n меньше m, функция возвратит 0. Пример использования: расчет количества перестановок трех элементов изпяти. Это демонстрирует, сколько существует вариантов формирования трехэлементных подмножеств изпятерки. #python
Hashtags
Время исполнения программы Зачастую требуется замерить время исполнения кода, чтобы понять, насколько оптимальное решение было выбрано. Как вариант, можно воспользоваться функцией time из модуля time, которая возвращает текущее время в формате Unix. Перед исполнением нашего кода сохраним начальное время, а после — конечное. Путем вычета первого из второго и получим время исполнения программы. Использование time.time() — не самый точный и лучший вариант, но, например, для быстрого сравнения двух разных частей кода подходит хорошо. #time
Hashtags
Определение литеральных типов Когда нам может понадобится определить из полученной строки литеральный тип (строки, числа, списки, кортежи, словари, логические значения и None), мы можем воспользоваться функцией literal_eval() из модуля ast. Данная функция поможет безопасно определить литеральный тип, а в случае если был передан не литерал, то выбросит исключение. Это можно использовать для оценки выражений из внешних источников при парсинге файлов, либо пользовательского ввода. #ast#literal_eval
Hashtags