Простой 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
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.

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

Метод math.gcd() возвращает наибольший общий делитель двух целых чисел. НОД — наибольший общий делитель, на который числа делятся без остатка. Когда оба числа равны 0, функция возвращает 0. Если любое число является символом, возникает TypeError.

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

Функция strptime() используется для форматирования и возврата строкового представления даты и времени. Он принимает дату, время или и то, и другое в качестве входных данных. Затем метод анализирует их в соответствии с данными ему директивами. Он вызывает ValueError, если строка не может быть отформатирована в соответствии с предоставленными директивами.

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

Метод time.monotonicns() используется для получения значения монотонных часов в наносекундах. Этот метод аналогичен методу time.monotonic(), который возвращает монотонное значение часов в долях секунды. Монотонные часы — это часы, которые не могут идти назад.

#практика
👍1