Простой 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
Генератор 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, если будут обнаружены непредвиденные байты.

#практика
Operator.itemgetter

Operator.itemgetter() извлекает элемент с помощью метода операнда getitem(). Если возвращается несколько значений, функция возвращает их в виде кортежа. Эта функция работает со словарями, строками, списками и кортежами. В данном примере мы сортируем список словарей.

#практика
Прогресс бар

В Python доступно несколько модулей прогресс бара. Рекомендую использовать alive-progress, так как он имеет множество преимуществ. Этот модуль многофункционален, прост в использовании и имеет множество встроенных стилей. Более того, ты можешь легко создавать свои собственные эффекты. Предварительно установи с помощью pip install alive-progress.

#практика
Operator.attrgetter

Когда у тебя есть группа объектов, ты можешь сортировать их не по местоположению в памяти, а по интересующему атрибуту. Для этого используй operator.attrgetter. Это немного быстрее, чем использование lambda. К тому же ты можешь извлекать сразу несколько полей данных. В данном примере мы сортируем фильмы по дате выхода.

#практика
Itertools.groupby

Метод groupby() в itertools проходит через итерацию и группирует значения на основе определенного ключа. Затем он возвращает итератор (поток кортежей). Важным предварительным шагом является сортировка данных по интересующей области. Так как groupby() проверяет только последовательные элементы, отсутствие первоначальной сортировки не приведет к группировке записей так, как ты хочешь.

#практика
fnmatch

Метод fnmatch() проверяет, соответствует ли имя файла шаблонной строке. Обрати внимание, что этот метод нечувствителен к регистру. Обычно fnmatch() делает сравнения, используя те же правила учета регистра, что и операционная система. Метод fnmatchcase() делает то же самое, только он чувствителен к регистру.

#практика
textwrap

Модуль textwrap позволяет переформатировать текст для вывода. Это полезно, когда у тебя есть длинные строки. Ты можешь их переформатировать таким образом, чтобы строки не имели более определенного количества символов. В данном примере мы ставим ограничение в 50 символов.

#практика
classmethod и staticmethod

classmethod используется для определения метода, который работает с классом. classmethod изменяет способ вызова метода, поэтому он получает сам класс в качестве первого аргумента. Декоратор staticmethod изменяет метод таким образом, что он не получает специального первого аргумента. По сути, статический метод похож на обычную функцию, которая находится в теле класса. Метод класса может получить доступ к состоянию класса или изменить его, в то время как статический метод не может получить к нему доступ или изменить его.

#практика
itertools.compress

compress выборочно выбирает значения для вывода из переданного контейнера. Делает он это в соответствии со значением логического списка. Ключевым моментом здесь является создание последовательности логических значений. Эта последовательность указывает, какие элементы удовлетворяют желаемому условию. Затем функция compress() выбирает элементы, соответствующие значениям True.

#практика
Конвертация валюты

Данный код позволяет конвертировать валюту одной страны в валюту другой страны. Здесь используется Fixer API, чтобы получить коэффициент конверсии в реальном времени и конвертировать соответствующую сумму. Для использования этого сервиса необходим ключ API.

#практика
html.escape

При хранении HTML в базах данных или переменных тебе нужно экранировать специальные символы, которые не являются текстом разметки, но могут быть перепутаны как таковые. К таким символам относятся <, >, ", ' и &. Если не использовать экранирование, браузер неправильно отобразит веб-страницу. Чтобы избежать этих символов, ты можем использовать метод html.escape(). Он кодирует HTML в строку ascii.

#практика
time.asctime

Метод time.asctime() используется для преобразования кортежа или объекта time.structtime в строку следующего вида: День недели Месяц Число Час:Минута:Секунда Год. Поле числа состоит из двух символов и дополняется пробелом, если число представляет собой одну цифру. Если параметр не указан, используется текущее время.

#практика
👍1
time.strftime

Функция strftime() принимает structtime (или соответствующий ему кортеж) в качестве аргумента и возвращает строку, представляющую его на основе используемого формата. В данном примере %Y, %m, %d, %H и т. д. — коды формата.

#практика
math.copysign

copysign() — это встроенная функция библиотеки math. Используется для получения числа с плавающей запятой со знаком другого числа. Знак может быть положительным или отрицательным. В данном примере выводится первое число со знаком второго числа.

#практика
math.erf

math.erf() используется для вывода функций ошибок. Функции ошибок широко используются в статистических вычислениях, машинном обучении и ряде теоретических приложений. Он определяется как интеграл нормального распределения. К этой функции прилагается ряд правил. math.erf (-∞) = -1; math.erf (+∞) = 1; math.erf (-x) = -math.erf(x); math.erf (x) = [math.erf (x)].

#практика
math.isclose

Метод math.isclose() проверяет, близки ли два значения друг к другу или нет. Возвращает True, если значения близки, иначе False. Близость двух значений определяется в соответствии с заданными абсолютными и относительными допусками. Относительная допуск — это максимально допустимая разница между двумя числами. Значение по умолчанию: 1e-09. Абсолютный допуск используется для сравнения значений, близких к 0. Значение должно быть не менее 0.

#практика