Just Python
11.2K subscribers
3.68K photos
11 videos
3.67K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Snowballstemmer

Библиотека Snowballstemmer предоставляет функциональность стемминга, то есть преобразования слов в их базовую форму.

Эта библиотека реализует алгоритм Портера, который является одним из наиболее известных алгоритмов стемминга. Snowballstemmer поддерживает алгоритмы стемминга для 15 языков, включая русский.

*Стемминг применяется в поисковых системах для расширения поискового запроса пользователя, является частью процесса нормализации текста.

#theory // Just Python
IceCream

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

В этом примере кода вывод ic| указывает на то, что это вывод от IceCream, а result: 6 — имя переменной и ее значение.

IceCream может быть использован в любом месте, где требуется отладка кода: веб-разработка, научные вычисления, анализ данных и т.д.

#theory // Just Python
Telethon

Telethon — это библиотека Python, которая позволяет вам взаимодействовать с API Telegram. Вы можете отправлять, получать или ждать новых сообщений Telegram внутри вашего Python-приложения. Вы также можете отправлять файлы контакту или группе контактов.

В этом примере мы настраиваем автоматическое отправление файлов в группу.

*Для работы этого кода вам нужно только получить ID и хэш Telegram API (что можно сделать за несколько минут).

#theory // Just Python
typing.Literal

typing.Literal — это тип данных, который позволяет указать не просто какой-то тип вроде str, int или float, а конкретное значение этого типа.

Например, Literal[42] означает, что в качестве значения ожидается только 42. Важно, что проверяется не только равенство значения, но и его тип (например, нельзя будет использовать False, если ожидается 0).

#theory // Just Python
Принцип открытости/закрытости (OCP)

Принцип открытости/закрытости (OCP) — один из основополагающих принципов объектно-ориентированного программирования (ООП), сформулированный Бертраном Мейером. Он гласит: Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения.

Иными словами код должен быть легко расширяемым для добавления новых функций или поведения. Существующий код не должен меняться при добавлении новых функций.

#theory // Just Python
Функция heapq.heapify()

Функция heapq.heapify() используется для преобразования списка в кучу (heap). Куча — это особая структура данных, представляющая собой полное бинарное дерево, в котором каждый родительский элемент меньше или равен своим дочерним элементам.

#theory // Just Python
Функция math.gcd()

Функция math.gcd() используется для вычисления наибольшего общего делителя (НОД) двух целых чисел. НОД — это наибольшее число, которое является делителем обоих чисел.

Синтаксис:
math.gcd(a, b)


Аргументы:
a: первое целое число
b: второе целое число

Возвращаемое значение:
целое число, являющееся НОД a и b

#theory // Just Python
Функция islice()

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

#theory // Just Python
Принцип разделения интерфейса (ISP)

ISP (Interface Segregation Principle) — один из принципов SOLID, который гласит: «Клиенты не должны зависеть от интерфейсов, которые они не используют».

Другими словами, вместо создания общих интерфейсов следует создавать специфические интерфейсы, предназначенные для конкретных клиентов. Интерфейсы должны быть максимально сплоченными, то есть все методы интерфейса должны быть тесно связаны между собой и решать одну задачу.

#theory // Just Python
bytes.hex()

bytes.hex() — это метод, который преобразует объект bytes в шестнадцатеричную строку.

Как работает: bytes.hex() возвращает строку, состоящую из шестнадцатеричных цифр, представляющих каждый байт в объекте bytes. Шестнадцатеричные цифры идут парами, где первая цифра представляет старший полубайт, а вторая - младший полубайт.

Например, байт со значением 10 (в десятичной системе) будет представлен как "0a" в шестнадцатеричной системе.

#theory // Just Python
strptime()

strptime() — это метод класса datetime, который используется для преобразования строки, представляющей дату и время, в объект datetime.

Синтаксис:
datetime.strptime(date_string, format_string)


Аргументы:
date_string: Строка, представляющая дату и время.
format_string: Строка, представляющая формат даты и времени.

#theory // Just Python
Функция uniform()

Функция uniform() из модуля random в Python используется для генерации случайных чисел с плавающей запятой в заданном диапазоне.

Синтаксис:
random.uniform(a, b)


Аргументы:

a: (обязательный) Нижняя граница диапазона.
b: (обязательный) Верхняя граница диапазона.

Возвращаемое значение:

Случайное число с плавающей запятой, равномерно распределенное в диапазоне [a, b].

#theory // Just Python
Функция permutations()

Функция permutations() из модуля itertools в Python используется для генерации всех возможных перестановок элементов из итерируемого объекта.

Синтаксис:
itertools.permutations(iterable, r=None)


Аргументы:
iterable: Итерируемый объект, например, список, строка или кортеж.
r (опционально): Целое число, указывающее длину перестановок. Если не указано, то по умолчанию генерируются все перестановки возможной длины.

#theory // Just Python
Функция groupby()

Функция groupby() из модуля itertools в Python используется для группировки элементов итератора по значению ключа. Она применяется к итератору (списку, кортежу, строке) и возвращает объект groupby, который представляет собой итератор по группам.

Синтаксис:
groupby(iterable, key=None)


Аргументы:
iterable: Итерируемый объект, который нужно сгруппировать.
key: Функция, которая извлекает ключ из каждого элемента итератора. По умолчанию используется функция lambda x: x, которая возвращает сам элемент.

#theory // Just Python
Функция attrgetter()

Функция attrgetter() из модуля operator используется для получения значения атрибута объекта. Она позволяет избежать явного указания имени атрибута, что может сделать код более читаемым и удобным.

#theory // Just Python
Декоратор lru_cache()

Декоратор lru_cache() из модуля functools в Python используется для мемоизации функций, то есть для кэширования результатов их вычислений. Это может значительно повысить производительность кода, если функция выполняет вычисления, которые требуют много времени.

Как работает lru_cache():
Декоратор lru_cache() работает по алгоритму LRU (Least Recently Used), что означает, что он кэширует последние maxsize результатов вычислений функции. Если кэш переполняется, то наименее

#theory // Just Python
Функция bisect.insort()

Функция bisect.insort() в Python используется для вставки элемента в уже отсортированный список, сохраняя его отсортированным. Она работает с помощью алгоритма бинарного поиска, что делает ее более эффективной, чем линейный поиск,

#theory // Just Python
Функция statistics.mean()

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

#theory // Just Python
Функция hypot

Функция hypot из модуля math в Python используется для вычисления евклидовой нормы, также известной как гипотенуза прямоугольного треугольника.

Синтаксис:
import math

hypot(x, y)


Аргументы:
x: Первый катет прямоугольного треугольника.
y: Второй катет прямоугольного треугольника.

#theory // Just Python
default_int_handler

default_int_handler — это функция, которая используется в качестве обработчика сигнала SIGINT по умолчанию. Она вызывается, когда пользователь нажимает комбинацию клавиш Ctrl+C, чтобы прервать работу программы.

Функциональность:
default_int_handler прерывает работу программы, генерируя исключение KeyboardInterrupt. Эта функция сбрасывает обработчик сигнала SIGINT, восстанавливая его исходное состояние.

#theory // Just Python