Обычные арифметические операторы (ч.3)
Метод mul(self, other) позволяет определить поведение объекта при использовании оператора умножения *. В данном примере, если операнд other является числом (целым или вещественным), мы умножаем соответствующие координаты вектора на это число и возвращаем новый объект Vector, представляющий результат умножения. Если other не является числом, мы вызываем исключение TypeError, указывая, что операция не поддерживается.
Метод rmul(self, other) позволяет поддерживать коммутативность умножения, т.е. возможность умножения числа на вектор (например, 3 * v). Этот метод просто вызывает mul, чтобы обеспечить одинаковое поведение для обеих форм умножения.
Этот лайфхак полезен при работе с пользовательскими типами данных, такими как векторы, где определение операции умножения имеет смысл. Переопределение методов mul и rmul позволяет объекту поддерживать стандартную математическую операцию умножения в Python.
Разъяснивший Python | ChatGPT
Метод mul(self, other) позволяет определить поведение объекта при использовании оператора умножения *. В данном примере, если операнд other является числом (целым или вещественным), мы умножаем соответствующие координаты вектора на это число и возвращаем новый объект Vector, представляющий результат умножения. Если other не является числом, мы вызываем исключение TypeError, указывая, что операция не поддерживается.
Метод rmul(self, other) позволяет поддерживать коммутативность умножения, т.е. возможность умножения числа на вектор (например, 3 * v). Этот метод просто вызывает mul, чтобы обеспечить одинаковое поведение для обеих форм умножения.
Этот лайфхак полезен при работе с пользовательскими типами данных, такими как векторы, где определение операции умножения имеет смысл. Переопределение методов mul и rmul позволяет объекту поддерживать стандартную математическую операцию умножения в Python.
Разъяснивший Python | ChatGPT
Обычные арифметические операторы (ч.4)
Класс Matrix реализует метод matmul(self, other), который определяет поведение оператора матричного умножения @.
В методе matmul, проверяется, что число столбцов первой матрицы равно числу строк второй матрицы, так как это условие необходимо для умножения матриц.
Затем создается результатирующая матрица и заполняется нулями.
Умножение матриц выполняется с помощью вложенных циклов.
Результат умножения возвращается в виде новой матрицы.
Этот лайфхак полезен для работы с линейной алгеброй и матричными операциями, где оператор @ позволяет интуитивно и легко выполнять умножение матриц, переопределяя метод matmul для пользовательских классов в Python.
Разъяснивший Python | ChatGPT
Класс Matrix реализует метод matmul(self, other), который определяет поведение оператора матричного умножения @.
В методе matmul, проверяется, что число столбцов первой матрицы равно числу строк второй матрицы, так как это условие необходимо для умножения матриц.
Затем создается результатирующая матрица и заполняется нулями.
Умножение матриц выполняется с помощью вложенных циклов.
Результат умножения возвращается в виде новой матрицы.
Этот лайфхак полезен для работы с линейной алгеброй и матричными операциями, где оператор @ позволяет интуитивно и легко выполнять умножение матриц, переопределяя метод matmul для пользовательских классов в Python.
Разъяснивший Python | ChatGPT
🔥2
Метод join
Метод join() позволяет объединить элементы последовательности (списка, кортежа и т.д.) в строку.
Основные моменты:
- Метод принадлежит строке, вызывается на разделителе.
- В качестве разделителя можно использовать любую строку.
- В результате получится строка, где между элементами последовательности вставлен разделитель.
Разъяснивший Python | ChatGPT
Метод join() позволяет объединить элементы последовательности (списка, кортежа и т.д.) в строку.
Основные моменты:
- Метод принадлежит строке, вызывается на разделителе.
- В качестве разделителя можно использовать любую строку.
- В результате получится строка, где между элементами последовательности вставлен разделитель.
Разъяснивший Python | ChatGPT
🤔2
Обычные арифметические операторы (ч.6)
Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операции целочисленного деления имеет смысл. Переопределение метода floordiv позволяет объекту поддерживать стандартную математическую операцию целочисленного деления в Python.
Разъяснивший Python | ChatGPT
Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операции целочисленного деления имеет смысл. Переопределение метода floordiv позволяет объекту поддерживать стандартную математическую операцию целочисленного деления в Python.
Разъяснивший Python | ChatGPT
Обычные арифметические операторы (ч.7)
Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операции остатка от деления имеет смысл. Переопределение метода mod позволяет объекту поддерживать стандартную математическую операцию остатка от деления в Python.
Разъяснивший Python | ChatGPT
Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операции остатка от деления имеет смысл. Переопределение метода mod позволяет объекту поддерживать стандартную математическую операцию остатка от деления в Python.
Разъяснивший Python | ChatGPT
JPype
JPype - это модуль, который позволяет взаимодействовать с кодом на Java из Python.
Основные области применения JPype:
- Доступ к библиотекам Java из Python.
- Интеграция с существующим Java кодом.
- Использование JVM из Python.
В этом примере мы импортируем класс String из Java и создаем экземпляр этого класса.
Затем вызываем метод toUpperCase() у объекта javaString. Таким образом из Python мы можем работать с объектами и вызывать методы Java.
Результат работы программы:
HELLO FROM JAVA!
Разъяснивший Python | ChatGPT
JPype - это модуль, который позволяет взаимодействовать с кодом на Java из Python.
Основные области применения JPype:
- Доступ к библиотекам Java из Python.
- Интеграция с существующим Java кодом.
- Использование JVM из Python.
В этом примере мы импортируем класс String из Java и создаем экземпляр этого класса.
Затем вызываем метод toUpperCase() у объекта javaString. Таким образом из Python мы можем работать с объектами и вызывать методы Java.
Результат работы программы:
HELLO FROM JAVA!
Разъяснивший Python | ChatGPT
👍4
dict.get()
Метод dict.get() принимает два аргумента - ключ и значение по умолчанию, и позволяет получить значение по ключу из словаря.
Если ключ присутствует в словаре, возвращается соответствующее значение.
Если ключа нет, возвращается значение по умолчанию, вместо ошибки KeyError.
Разъяснивший Python | ChatGPT
Метод dict.get() принимает два аргумента - ключ и значение по умолчанию, и позволяет получить значение по ключу из словаря.
Если ключ присутствует в словаре, возвращается соответствующее значение.
Если ключа нет, возвращается значение по умолчанию, вместо ошибки KeyError.
Разъяснивший Python | ChatGPT
👍1
NumPy: nditer
numpy.nditer — это функция, которая позволяет эффективно выполнить итерацию по элементам массива NumPy. Она предоставляет удобный способ обхода элементов массива, особенно если тебе нужно работать с несколькими массивами одновременно или выполнить операции на низком уровне.
Разъяснивший Python | ChatGPT
numpy.nditer — это функция, которая позволяет эффективно выполнить итерацию по элементам массива NumPy. Она предоставляет удобный способ обхода элементов массива, особенно если тебе нужно работать с несколькими массивами одновременно или выполнить операции на низком уровне.
Разъяснивший Python | ChatGPT
Обычные арифметические операторы (ч.8)
Этот лайфхак полезен при работе с дробями или другими типами данных, где определение операций целочисленного деления и остатка имеет смысл. Переопределение метода divmod позволяет объекту поддерживать стандартную функцию divmod() в Python, возвращая частное и остаток от деления в виде кортежа.
Разъяснивший Python | ChatGPT
Этот лайфхак полезен при работе с дробями или другими типами данных, где определение операций целочисленного деления и остатка имеет смысл. Переопределение метода divmod позволяет объекту поддерживать стандартную функцию divmod() в Python, возвращая частное и остаток от деления в виде кортежа.
Разъяснивший Python | ChatGPT
Frozenset
frozensets используются для создания неизменяемых множеств.
Основные особенности frozensets:
- Они неизменяемы, то есть элементы нельзя добавить или удалить после создания.
- Они могут использоваться как ключи в словарях, так как неизменяемы.
- Они быстрее обычных множеств в операциях, так как являются неизменяемыми.
Здесь мы создали frozenset с элементами. Попытка добавить элемент вызывает ошибку, так как frozensets неизменяемы. Затем frozenset используется как ключ в словаре.
Разъяснивший Python | ChatGPT
frozensets используются для создания неизменяемых множеств.
Основные особенности frozensets:
- Они неизменяемы, то есть элементы нельзя добавить или удалить после создания.
- Они могут использоваться как ключи в словарях, так как неизменяемы.
- Они быстрее обычных множеств в операциях, так как являются неизменяемыми.
Здесь мы создали frozenset с элементами. Попытка добавить элемент вызывает ошибку, так как frozensets неизменяемы. Затем frozenset используется как ключ в словаре.
Разъяснивший Python | ChatGPT
Pygal
Pygal - это библиотека для визуализации данных с помощью SVG.
Она позволяет строить разнообразные интерактивные графики, такие как линейные, столбчатые, круговые диаграммы.
Этот код создает объект диаграммы line_chart, добавляет в нее несколько рядов данных, задает заголовок, подписи по оси X и сохраняет результат в файл SVG.
В итоге получается интерактивный график изменения доли браузеров за определенный период.
Разъяснивший Python | ChatGPT
Pygal - это библиотека для визуализации данных с помощью SVG.
Она позволяет строить разнообразные интерактивные графики, такие как линейные, столбчатые, круговые диаграммы.
Этот код создает объект диаграммы line_chart, добавляет в нее несколько рядов данных, задает заголовок, подписи по оси X и сохраняет результат в файл SVG.
В итоге получается интерактивный график изменения доли браузеров за определенный период.
Разъяснивший Python | ChatGPT
Memray
Memray - это библиотека для профилирования памяти и она является важным инструментом оптимизации производительности Python программ.
Библиотека отслеживает выделение и освобождение памяти при работе программы, поддерживает отслеживание ссылок на объект, применятся для профилирования на серверах и в виртуальных окружениях.
В примере мы используем декоратор memray.profile, который будет отслеживать все выделение и освобождение памяти внутри функции my_func().
При запуске этого кода memray выведет отчёт.
Разъяснивший Python | ChatGPT
Memray - это библиотека для профилирования памяти и она является важным инструментом оптимизации производительности Python программ.
Библиотека отслеживает выделение и освобождение памяти при работе программы, поддерживает отслеживание ссылок на объект, применятся для профилирования на серверах и в виртуальных окружениях.
В примере мы используем декоратор memray.profile, который будет отслеживать все выделение и освобождение памяти внутри функции my_func().
При запуске этого кода memray выведет отчёт.
Разъяснивший Python | ChatGPT
object
object - это встроенный класс, от него наследуются сразу все новые классы, если явно не указан другой базовый класс.
У объектов класса object есть методы init, str, repr и другие. Их можно переопределять в дочерних классах.
Атрибуты класса объявляются внутри класса, но вне всех методов. Атрибуты экземпляра объявляются в init.
Чтобы использовать класс object в своем коде, достаточно создать класс, унаследованный от object.
Разъяснивший Python | ChatGPT
object - это встроенный класс, от него наследуются сразу все новые классы, если явно не указан другой базовый класс.
У объектов класса object есть методы init, str, repr и другие. Их можно переопределять в дочерних классах.
Атрибуты класса объявляются внутри класса, но вне всех методов. Атрибуты экземпляра объявляются в init.
Чтобы использовать класс object в своем коде, достаточно создать класс, унаследованный от object.
Разъяснивший Python | ChatGPT
math.pow
math.pow — это функция в модуле math в Python, которая возводит число в заданную степень. Эта функция возвращает результат в виде числа с плавающей точкой (тип float). Однако есть и альтернативный способ возвести число в степень в Python, используя оператор **.
Разъяснивший Python | ChatGPT
math.pow — это функция в модуле math в Python, которая возводит число в заданную степень. Эта функция возвращает результат в виде числа с плавающей точкой (тип float). Однако есть и альтернативный способ возвести число в степень в Python, используя оператор **.
Разъяснивший Python | ChatGPT
👍2
writelines
В Python метод
Разъяснивший Python | ChatGPT
В Python метод
writelines() используется для записи списка строк в файл. Каждая строка из списка записывается последовательно, без добавления дополнительных символов (например, новых строк) между строками, если они не включены в сами строки.Разъяснивший Python | ChatGPT
Обычные арифметические операторы (ч.9)
Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операций возведения в степень и взятия по модулю имеет смысл. Переопределение метода pow позволяет объекту поддерживать стандартные операции возведения в степень и взятия по модулю в Python.
Разъяснивший Python | ChatGPT
Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операций возведения в степень и взятия по модулю имеет смысл. Переопределение метода pow позволяет объекту поддерживать стандартные операции возведения в степень и взятия по модулю в Python.
Разъяснивший Python | ChatGPT
Contextlib для обработки внешних источников
Библиотека
Разъяснивший Python | ChatGPT
Библиотека
contextlib в Python предоставляет утилиты для работы с контекстными менеджерами и упрощения создания и использования ресурсов с помощью оператора with.Разъяснивший Python | ChatGPT
Обычные арифметические операторы (ч.10)
Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция сдвига влево имеет смысл. Переопределение метода lshift позволяет объекту поддерживать стандартную операцию сдвига влево в Python.
Разъяснивший Python | ChatGPT
Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция сдвига влево имеет смысл. Переопределение метода lshift позволяет объекту поддерживать стандартную операцию сдвига влево в Python.
Разъяснивший Python | ChatGPT
Обычные арифметические операторы (ч.11)
Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция сдвига вправо имеет смысл. Переопределение метода rshift позволяет объекту поддерживать стандартную операцию сдвига вправо в Python.
Разъяснивший Python | ChatGPT
Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция сдвига вправо имеет смысл. Переопределение метода rshift позволяет объекту поддерживать стандартную операцию сдвига вправо в Python.
Разъяснивший Python | ChatGPT
pathlib для работы с системными путями
Модуль Python os, мягко говоря, отстой… К счастью, разработчики ядра Python услышали крики миллионов и представили библиотеку pathlib в Python 3.4. Она обеспечивает удобный объектно-ориентированный подход к системным путям.
Ссылочка на доку
Разъяснивший Python | ChatGPT
Модуль Python os, мягко говоря, отстой… К счастью, разработчики ядра Python услышали крики миллионов и представили библиотеку pathlib в Python 3.4. Она обеспечивает удобный объектно-ориентированный подход к системным путям.
Ссылочка на доку
Разъяснивший Python | ChatGPT
👍1
Обычные арифметические операторы (ч.12)
Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция побитового И имеет смысл. Переопределение метода and позволяет объекту поддерживать стандартную операцию побитового И в Python.
Разъяснивший Python | ChatGPT
Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция побитового И имеет смысл. Переопределение метода and позволяет объекту поддерживать стандартную операцию побитового И в Python.
Разъяснивший Python | ChatGPT