Just Python
10.2K subscribers
4.39K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Обычные арифметические операторы (ч.2)

Метод sub(self, other) позволяет определить поведение объекта при использовании оператора вычитания -. В данном примере, если операнд other также является объектом типа Vector, мы вычитаем соответствующие координаты векторов и возвращаем новый объект Vector, представляющий разность. Если other не является вектором, мы вызываем исключение TypeError, указывая, что операция не поддерживается.

Этот лайфхак полезен при работе с пользовательскими типами данных, такими как векторы, матрицы и другие структуры данных, где определение операции вычитания имеет смысл. Переопределение метода sub позволяет объекту поддерживать стандартную математическую операцию вычитания в Python.

#theory // just python | ChatGPT
Обычные арифметические операторы (ч.3)

Метод mul(self, other) позволяет определить поведение объекта при использовании оператора умножения *. В данном примере, если операнд other является числом (целым или вещественным), мы умножаем соответствующие координаты вектора на это число и возвращаем новый объект Vector, представляющий результат умножения. Если other не является числом, мы вызываем исключение TypeError, указывая, что операция не поддерживается.

Метод rmul(self, other) позволяет поддерживать коммутативность умножения, т.е. возможность умножения числа на вектор (например, 3 * v). Этот метод просто вызывает mul, чтобы обеспечить одинаковое поведение для обеих форм умножения.

Этот лайфхак полезен при работе с пользовательскими типами данных, такими как векторы, где определение операции умножения имеет смысл. Переопределение методов mul и rmul позволяет объекту поддерживать стандартную математическую операцию умножения в Python.

#theory // just python | ChatGPT
Обычные арифметические операторы (ч.4)

Класс Matrix реализует метод matmul(self, other), который определяет поведение оператора матричного умножения @.
В методе matmul, проверяется, что число столбцов первой матрицы равно числу строк второй матрицы, так как это условие необходимо для умножения матриц.
Затем создается результатирующая матрица и заполняется нулями.
Умножение матриц выполняется с помощью вложенных циклов.
Результат умножения возвращается в виде новой матрицы.
Этот лайфхак полезен для работы с линейной алгеброй и матричными операциями, где оператор @ позволяет интуитивно и легко выполнять умножение матриц, переопределяя метод matmul для пользовательских классов в Python.

#theory // just python | ChatGPT
Обычные арифметические операторы (ч.5)

Класс Rational реализует метод truediv(self, other), который определяет поведение оператора деления /.
В методе truediv, если операнд other также является объектом класса Rational, то выполняется деление дробей, умножая на обратную дробь.
Если операнд other является целым числом или числом с плавающей запятой, то знаменатель дроби умножается на это число.
Если операнд other не является ни Rational, ни числом, вызывается исключение TypeError.
Метод str позволяет выводить дробь в виде строки.
Этот лайфхак полезен при работе с дробями или другими типами данных, где определение операции деления имеет смысл. Переопределение метода truediv позволяет объекту поддерживать стандартную математическую операцию деления в Python.

#theory // just python | ChatGPT
Обычные арифметические операторы (ч.6)

Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операции целочисленного деления имеет смысл. Переопределение метода floordiv позволяет объекту поддерживать стандартную математическую операцию целочисленного деления в Python.

#theory // just python | ChatGPT
Logging в Python

Логирование - важный аспект любого программного кода, особенно при разработке крупных проектов. Библиотека logging в Python предлагает простой в использовании и мощный инструментарий для создания информативных, структурированных и удобочитаемых уведомлений.

Часто разработчики сталкиваются с необходимостью отслеживать работу программы, а также выявлять ошибки или неисправности. При помощи logging можно создавать различные уровни логирования (от простых информационных сообщений до критических ошибок), настраивать вывод логов в консоль, файлы или другие источники.

#module // just python | ChatGPT
Обычные арифметические операторы (ч.7)

Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операции остатка от деления имеет смысл. Переопределение метода mod позволяет объекту поддерживать стандартную математическую операцию остатка от деления в Python.

#theory // just python | ChatGPT
Обычные арифметические операторы (ч.8)

Этот лайфхак полезен при работе с дробями или другими типами данных, где определение операций целочисленного деления и остатка имеет смысл. Переопределение метода divmod позволяет объекту поддерживать стандартную функцию divmod() в Python, возвращая частное и остаток от деления в виде кортежа.

#theory // just python | ChatGPT
Обычные арифметические операторы (ч.9)

Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операций возведения в степень и взятия по модулю имеет смысл. Переопределение метода pow позволяет объекту поддерживать стандартные операции возведения в степень и взятия по модулю в Python.

#theory // just python | ChatGPT
Работа с таблицами csv

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

#theory // just python | ChatGPT
Функция zip подробнее

Разберемся как работает функция zip и где еще ее можно применять. Функция без с одним аргументом вернет собранные элементы, по одному в каждом. Чтобы увидеть внутренности объекта преобразуем его в list.

Полезно использовать, когда нужно собрать несколько кортежей или списков.

#theory // just python | ChatGPT
Обычные арифметические операторы (ч.10)

Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция сдвига влево имеет смысл. Переопределение метода lshift позволяет объекту поддерживать стандартную операцию сдвига влево в Python.

#theory // just python | ChatGPT
Обычные арифметические операторы (ч.11)

Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция сдвига вправо имеет смысл. Переопределение метода rshift позволяет объекту поддерживать стандартную операцию сдвига вправо в Python.

#theory // just python | ChatGPT
Библиотека newspaper3k

Часто приходится парсить статьи? Первое, что приходит на ум, — BeautifulSoup, но newspaper3k дает огромное преимущество.

Он даёт возможность извлекать статьи и связанные с ней мета-данные. То есть, ты можешь получить html-код, авторов и текст статьи. И не придется самому распарсивать статью.

Библиотеку необходимо установить:

pip install newspaper3k


#module // just python | ChatGPT
Метод set_printoptions в Numpy

Метод set_printoptions, который нужен для управления выводом.
Метод принимает следующие аргументы:

precision — количество отображаемых цифр после запятой (по умолчанию 8).

threshold — количество элементов в массиве, вызывающее обрезание элементов (по умолчанию 1000).

edgeitems — количество элементов в начале и в конце каждой размерности массива (по умолчанию 3).

linewidth — количество символов в строке, после которых осуществляется перенос (по умолчанию 75).

suppress — если True, не печатает маленькие значения в scientific notation (по умолчанию False).

nanstr — строковое представление NaN (по умолчанию 'nan').

infstr — строковое представление inf (по умолчанию 'inf').

#theory // just python | ChatGPT
Обычные арифметические операторы (ч.12)

Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция побитового И имеет смысл. Переопределение метода and позволяет объекту поддерживать стандартную операцию побитового И в Python.

#theory // just python | ChatGPT
Фаза комплексного числа

Фаза комплексного числа – это угол между действительной осью и вектором, представляющим мнимую часть. Изображение ниже иллюстрирует фазу комплексного числа и то, как получить это значение с помощью модулей cmath и math.

Обратите внимание, что фаза, возвращаемая модулями math и cmath, выражается в радианах, мы можем использовать функцию numpy.degrees(), чтобы преобразовать ее в градусы. Диапазон фазы – от -π до + π (от -pi до + pi) в радианах, что эквивалентно от -180 до +180 градусов.

#theory // just python | ChatGPT
Математические вычисления комплексных чисел

Комплексные числа поддерживают математические вычисления, такие как сложение, вычитание, умножение и деление.

#theory // just python | ChatGPT
Дата из строки ISO

В Python 3.7 добавлен новый метод fromisoformat() для создания экземпляра даты из строки формата ISO. Строка ввода должна быть в формате ГГГГ-ММ-ДД.

#theory // just python | ChatGPT
Функция locals() в Python

Функция locals() в Python возвращает словарь, представляющий текущую локальную таблицу символов. Программа Python хранит информацию о программе в таблицах символов.

Функция Python locals() не принимает никаких аргументов. Посмотрим словарь, возвращаемый функцией locals().

#theory // just python | ChatGPT
Оператор (+) для конкатенации списков

Оператор «+» можно использовать для объединения двух списков. Он добавляет один список в конец другого списка и дает новый список в качестве вывода.

#theory // just python | ChatGPT