Простой Python | Программирование
141K subscribers
2.36K photos
48 videos
1.36K links
Заявки принимаются автоматически.
Лучший образовательный канал по Python.

По всем вопросам: @dimaa_dimaa (реклама)

Ссылка на канал: https://t.me/+T1i5nO0m_h01ZDky
.
РКН: https://vk.cc/cJ5box
Помощь:https://telega.in/c/+T1i5nO0m_h01ZDky
Download Telegram
Создание изображений

Ты можешь создавать изображения с нуля, используя NumPy и Pillow. В данном примере мы создаем три изображения. Они создаются из каждого массива NumPy и в режим «L», который представляет оттенки серого. Теперь ты можешь объединить эти три отдельных изображения в одно изображение RGB, используя Image.merge(). Первый аргумент в Image.merge() — это режим вывода изображения. Второй аргумент — это последовательность с отдельными одноканальными изображениями.

#практика
Вычисления с дробями

Вычисления с дробями не часто встречаются в программах, но бывают ситуации, когда их использование необходимо. Например, выполнение вычислений с ними может избавить пользователя от необходимости вручную выполнять преобразования в десятичные или дробные числа. Модуль fractions можно использовать для выполнения математических расчетов с использованием дробей.

#практика
Создание анимации

В этом примере мы создаем анимацию, показывающую, как три квадрата сливаются в один белый квадрат. Создается несколько версий изображений, содержащих три квадрата. Расположение квадратов будет немного отличаться между последовательными изображениями. В конце мы сохраняем анимацию в файл, после чего ты можешь открыть файл GIF с помощью любого программного обеспечения для работы с изображениями.

#практика
👍1
expandtabs

Метод expandtabs() возвращает копию строки, в которой все символы табуляции 't' заменены символами пробела до следующего кратного параметра tabsize. Рассмотрим пример. Позиция «t» равна 3, а первая позиция табуляции — 8. Следовательно, количество пробелов после «xyz» равно 5. Следующие позиции табуляции кратны размеру tabsize — 16, 24, 32 и так далее. Аналогично работает и с другими параметрами.

#практика
isalnum

Метод isalnum() возвращает значение True, если все символы в строке являются буквами или цифрами. Если нет, возвращается False. В приведенном примере мы используем метод isalnum() с разными строками, чтобы проверить, является ли каждый символ в строке буквенно-цифровым.

#практика
ljust/rjust

Функция ljust выравнивает строку по левому краю. Аналогично rjust выравнивает по правому краю. Они возвращают строку определенной ширины, созданную путем заполнения строки символом fillchar (по умолчанию это пробел). Строка никогда не усекается.

#практика
zfill

Метод zfill() возвращает копию строки с символами '0', дополненными слева. Параметр width определяет длину строки, возвращаемой функцией zfill(). Предположим, начальная длина строки равна 10, width - 15. В этом случае zfill() возвращает копию строки с пятью цифрами «0», заполненными слева. Если параметр width меньше длины строки, возвращается исходная строка.

#практика
translate

Метод translate() использует таблицу перевода для замены/перевода символов в заданной строке в соответствии с таблицей сопоставления. Таблица перевода создается статическим методом maketrans(). В данном примере строка удаления ThirdString сбрасывает отображение a и b на None. Когда строка переводится с помощью translate(), a и b удаляются, а символ “c” заменяется на idef.

#практика
😁1
Симметричная разность

Симметричная разность двух множеств A и B — это множество элементов, которые находятся либо в A, либо в B, но не находятся на их пересечении. Метод symmetricdifference() возвращает симметричную разницу двух наборов. Также ты можешь найти симметричную разность с помощью оператора ^.

#практика
union

Объединение двух или более множеств — это множество всех различных элементов, присутствующих во всех множествах. Метод union() возвращает набор, содержащий все элементы из исходного набора и все элементы из указанных наборов. Если элемент присутствует более чем в одном наборе, результат будет содержать только один экземпляр этого элемента. Если аргумент не передается в union(), он возвращает поверхностную копию набора.

#практика
gzip

gzip — это формат файлов и программное приложение, используемое для сжатия и распаковки файлов. Модуль gzip предоставляет простой способ работы с файлами gzip (.gz). В данном примере демонстрируется, как записать данные в сжатый файл и прочесть их.

#практика
Преобразование даты

Метод datetime.strptime() используется для преобразования строки в объекты даты и времени, чтобы выполнять над ними нестроковые операции. Данный метод поддерживает множество кодов форматирования, таких как %Y для четырехзначного года и %m для двухзначного месяца. Эти плейсхолдеры также работают в обратном порядке, если тебе нужно представить объект даты и времени в строковом выводе и сделать его красивым.

#практика
isdisjoint

Метод isdisjoint() возвращает True, если у множеств нет общих элементов. В противном случае он возвращает False. Можно использовать список, кортеж, словарь или строку. В этом случае isdisjoint() сначала преобразует итерации в наборы, а затем проверяет, не пересекаются ли они.

#практика
symmetric difference update

Метод symmetric difference() возвращает новый набор, содержащий симметричную разность двух наборов. Метод symmetric difference update() обновляет набор с симметричной разницей наборов. Этот метод возвращает None, что указывает на отсутствие возвращаемого значения. Он только обновляет набор.

#практика
👍1
format map

Метод format map() заменяет все ключи в строке значением. Это вернет новую строку со всеми сделанными заменами, если это возможно. У данного метода есть некоторые отличия от format. Метод format() косвенно выполняет замену. Сначала создает словарь отображения, а затем выполняет замену. В случае format map() замена выполняется напрямую с использованием словаря сопоставления. Так как format map() не создает новый словарь, это немного быстрее, чем format().

#практика
Генератор QR-кода

Библиотека qrcode позволяет сделать QR-код в Python. Для большего контроля используй класс QRCode. Параметр version представляет собой целое число от 1 до 40, которое управляет размером QR-кода (наименьшая версия 1 представляет собой матрицу 21x21). Установи значение None и используй параметр fit при создании кода для автоматического определения. fill color и back color могут изменить фон и цвет QR-кода. Параметр error correction управляет исправлением ошибок, используемым для QR-кода. Параметр box size определяет количество пикселей в каждой «коробке» QR-кода. Параметр border определяет толщину границы.

#практика
Collections.counter

Collections.counter – это метод отображения, который содержит целое число для каждого ключа. Обновление существующего ключа увеличивает его количество. Это можно использовать для подсчета экземпляров хешируемых объектов (ключей). Также можно использовать как мультимножество — набор, содержащий несколько экземпляров каждого элемента. В данном примере демонстрируется работа most common([n]), который возвращает упорядоченный список кортежей с n наиболее распространенными элементами и их количеством.

#практика
MappingProxyType

Модуль types предоставляет класс-оболочку с именем MappingProxyType. Он возвращает экземпляр прокси-сервера сопоставления. Данный экземпляр является динамическим представлением исходного сопоставления, только для чтения. Это означает, что обновления исходного сопоставления можно увидеть в прокси-сервере сопоставления, но через него нельзя внести изменения.

#практика
👍1
UnicodeEncodeError

Большинство кодеков, отличных от UTF, обрабатывают лишь небольшое подмножество символов Unicode. Если символ не определен в целевой кодировке, будет вызвана ошибка UnicodeEncodeError. Ее можно обойти, предоставив специальную обработку символов. Это можно сделать путем передачи аргумента ошибки в метод или функцию кодирования. В данном примере ‘cp437’ не может кодировать «ã». error='ignore' пропускает символы, которые не могут быть закодированы. error='replace' заменяет некодируемые символы на '?'. 'xmlcharrefreplace' заменяет некодируемые символы объектом XML.

#практика
UnicodeDecodeError

Не каждый байт содержит допустимый символ ASCII, и не каждая последовательность байтов является допустимой UTF-8 или UTF-16. При преобразовании двоичной последовательности в текст ты получишь UnicodeDecodeError, если будут обнаружены непредвиденные байты.

#практика