Mypy
Mypy — это инструмент для статической типизации в Python. Он добавляет дополнительный слой проверки типов в ваш код, что помогает обнаруживать и предотвращать ошибки, связанные с типами данных, на этапе разработки, до выполнения программы.
Статическая типизация означает, что вы аннотируете типы для переменных, аргументов функций и возвращаемых значений в своем коде. Эти аннотации указывают Mypy, какие типы ожидаются для каждой переменной и выражения.
Mypy выполняет проверку типов на основе аннотаций, проверяя код на соответствие указанным типам. Если обнаруживаются несоответствия, Mypy генерирует ошибки или предупреждения, указывая на место, где ошибка произошла.
Это помогает повысить надежность и читаемость кода. Аннотации типов делают код более понятным и документируют ожидаемую структуру данных, что облегчает совместную работу в команде.
#theory // Just Python
Mypy — это инструмент для статической типизации в Python. Он добавляет дополнительный слой проверки типов в ваш код, что помогает обнаруживать и предотвращать ошибки, связанные с типами данных, на этапе разработки, до выполнения программы.
Статическая типизация означает, что вы аннотируете типы для переменных, аргументов функций и возвращаемых значений в своем коде. Эти аннотации указывают Mypy, какие типы ожидаются для каждой переменной и выражения.
Mypy выполняет проверку типов на основе аннотаций, проверяя код на соответствие указанным типам. Если обнаруживаются несоответствия, Mypy генерирует ошибки или предупреждения, указывая на место, где ошибка произошла.
Это помогает повысить надежность и читаемость кода. Аннотации типов делают код более понятным и документируют ожидаемую структуру данных, что облегчает совместную работу в команде.
#theory // Just Python
LineaPy
LineaPy — это библиотека для работы с временными рядами и анализа временных данных.
Эта библиотека позволяет быстро решать типовые задачи анализа временных рядов без необходимости "изобретать велосипед".
Она удобна для анализа временных данных в задачах прогнозирования, мониторинга, выявления сезонности, трендов и аномалий. Имеет интуитивный API и хорошую документацию.
В этом примере мы получили прогнозные значения временного ряда на 5 периодов вперед с помощью модели ARIMA из LineaPy за считанные строки кода.
#theory // Just Python
LineaPy — это библиотека для работы с временными рядами и анализа временных данных.
Эта библиотека позволяет быстро решать типовые задачи анализа временных рядов без необходимости "изобретать велосипед".
Она удобна для анализа временных данных в задачах прогнозирования, мониторинга, выявления сезонности, трендов и аномалий. Имеет интуитивный API и хорошую документацию.
В этом примере мы получили прогнозные значения временного ряда на 5 периодов вперед с помощью модели ARIMA из LineaPy за считанные строки кода.
#theory // Just Python
Делимся приватным архивом на 837 ГБ курсов по программированию:
1. Обучение Python с нуля
2. Обучение JavaScript с нуля
3. Обучение С++ с нуля
4. Обучение С# с нуля
5. Обучение HTML/CSS с нуля
6. Обучение Java с нуля
7. Обучение SQL/GO/PHP с нуля
Архивы скоро удалят, очень важно успеть!🔥
1. Обучение Python с нуля
2. Обучение JavaScript с нуля
3. Обучение С++ с нуля
4. Обучение С# с нуля
5. Обучение HTML/CSS с нуля
6. Обучение Java с нуля
7. Обучение SQL/GO/PHP с нуля
Архивы скоро удалят, очень важно успеть!🔥
Композиция (ассоциация) классов
Композиция (ассоциация) классов — это способ связи объектов разных классов. Позволяет создавать сложные объекты из более простых.
Один класс содержит объект другого класса как атрибут, при этом внутренний объект является частью внешнего.
Внешний класс не наследует функционал внутреннего, в отличие от наследования, просто использует его.
Композиция классов позволяет создавать сложные объекты из простых классов и подходит для моделирования реальных взаимосвязей.
#theory // Just Python
Композиция (ассоциация) классов — это способ связи объектов разных классов. Позволяет создавать сложные объекты из более простых.
Один класс содержит объект другого класса как атрибут, при этом внутренний объект является частью внешнего.
Внешний класс не наследует функционал внутреннего, в отличие от наследования, просто использует его.
Композиция классов позволяет создавать сложные объекты из простых классов и подходит для моделирования реальных взаимосвязей.
#theory // Just Python
NetworkX
NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.
Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.
#theory // Just Python
NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.
Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.
#theory // Just Python
Как получить размер папки с помощью Python?
Чтобы получить размер каталога, пользователь должен пройти по всей папке и добавить размер каждого файла, присутствующего в этой папке, и покажет общий размер папки.
#theory // Just Python
Чтобы получить размер каталога, пользователь должен пройти по всей папке и добавить размер каждого файла, присутствующего в этой папке, и покажет общий размер папки.
#theory // Just Python
string.rsplit
rsplit() разбивает строку по разделителю, начиная справа, и возвращает список строк. При необходимости ты можешь задать количество разбиения строки. По умолчанию этот параметр равен -1. Это значит, что нет ограничения на разбиение.
#theory // Just Python
rsplit() разбивает строку по разделителю, начиная справа, и возвращает список строк. При необходимости ты можешь задать количество разбиения строки. По умолчанию этот параметр равен -1. Это значит, что нет ограничения на разбиение.
#theory // Just Python
Метод str.expandtabs()
Метод str.expandtabs() используется для замены символов табуляции ('\t') в строке на пробелы в соответствии с заданным размером шага табуляции. Метод принимает один аргумент — tabsize, который указывает количество пробелов, на которое следует заменять каждый символ табуляции.
#theory // Just Python
Метод str.expandtabs() используется для замены символов табуляции ('\t') в строке на пробелы в соответствии с заданным размером шага табуляции. Метод принимает один аргумент — tabsize, который указывает количество пробелов, на которое следует заменять каждый символ табуляции.
#theory // Just Python
issubset
Метод issubset() возвращает True, если множество A является подмножеством B, т. е. если все элементы множества A присутствуют в сете B. В противном случае он возвращает False.
#theory // Just Python
Метод issubset() возвращает True, если множество A является подмножеством B, т. е. если все элементы множества A присутствуют в сете B. В противном случае он возвращает False.
#theory // Just Python
Определяем ip адрес своего компьютера
Этот код использует библиотеку requests для отправки HTTP-запроса к веб-сервису ipify, который предоставляет API для определения публичного IP-адреса пользователя. Код написан в форме функции get_public_ip, что делает его удобным для повторного использования.
Использование блока try-except обеспечивает обработку исключений, которые могут возникнуть при запросе (например, проблемы с подключением к интернету). Если запрос успешен, функция возвращает IP-адрес, иначе возвращает сообщение об ошибке.
#theory // Just Python
Этот код использует библиотеку requests для отправки HTTP-запроса к веб-сервису ipify, который предоставляет API для определения публичного IP-адреса пользователя. Код написан в форме функции get_public_ip, что делает его удобным для повторного использования.
Использование блока try-except обеспечивает обработку исключений, которые могут возникнуть при запросе (например, проблемы с подключением к интернету). Если запрос успешен, функция возвращает IP-адрес, иначе возвращает сообщение об ошибке.
#theory // Just Python
Метод intersection()
Метод intersection() возвращает новое множество с элементами, общими для всех множеств. Если аргумент не передается в intersection(), он возвращает поверхностную копию множества (A).
#theory // Just Python
Метод intersection() возвращает новое множество с элементами, общими для всех множеств. Если аргумент не передается в intersection(), он возвращает поверхностную копию множества (A).
#theory // Just Python
pow()
В Python функция pow() используется для вычисления степени числа. Вот как она работает:
result = pow(x, y, z)
где: x — основание степени,
y — показатель степени,
z (необязательный параметр) — модуль, по которому производится вычисление.
Если z указан, то pow(x, y, z) возвращает (x y) % z. Если z не указан, то возвращается x y.
#theory // Just Python
В Python функция pow() используется для вычисления степени числа. Вот как она работает:
result = pow(x, y, z)
где: x — основание степени,
y — показатель степени,
z (необязательный параметр) — модуль, по которому производится вычисление.
Если z указан, то pow(x, y, z) возвращает (x y) % z. Если z не указан, то возвращается x y.
#theory // Just Python
memoryview()
Этот инструмент особенно полезен, когда вам нужно работать с большим объемом данных, и вы хотите избежать копирования данных, что может быть затратным с точки зрения времени
#theory // Just Python
memoryview() в Python предоставляет объект для доступа к внутреннему представлению данных в виде буфера без копирования. Этот объект позволяет вам просматривать байты объекта, не копируя их, а также выполнять различные операции на уровне байтов.memoryview() также может использоваться для работы с массивами и другими объектами, поддерживающими буферный интерфейс в Python.Этот инструмент особенно полезен, когда вам нужно работать с большим объемом данных, и вы хотите избежать копирования данных, что может быть затратным с точки зрения времени
#theory // Just Python
Метод getitem
Метод
Этот метод также используется при работе с срезами. Если вы хотите, чтобы ваш объект поддерживал срезы, вы также можете реализовать метод
#theory // Just Python
Метод
__getitem__ является частью протокола индексации, который позволяет объекту быть индексируемым, как это делается, например, для списков или словарей. Этот метод вызывается при использовании квадратных скобок [] для доступа к элементам объекта.Этот метод также используется при работе с срезами. Если вы хотите, чтобы ваш объект поддерживал срезы, вы также можете реализовать метод
__getitem__ с тремя аргументами: self, start, stop.#theory // Just Python
frozenset
Вот несколько ключевых особенностей
Неизменяемость: Это означает, что вы не можете добавлять, удалять или изменять элементы в
Хешируемость: Поскольку
Обратите внимание, что, поскольку
#theory // Just Python
frozenset представляет собой неизменяемое множество. Основное отличие между set и frozenset заключается в том, что set является изменяемым типом данных, тогда как frozenset не может быть изменен после создания.Вот несколько ключевых особенностей
frozenset:Неизменяемость: Это означает, что вы не можете добавлять, удалять или изменять элементы в
frozenset после его создания.Хешируемость: Поскольку
frozenset неизменяем, он является хешируемым, что означает, что его можно использовать в качестве ключа в словарях и элемента множества.Обратите внимание, что, поскольку
frozenset не поддерживает изменения, некоторые методы, которые изменяют множество (например, add, remove, discard), не применимы к frozenset. Однако, вы можете выполнять операции, возвращающие новые frozenset, такие как объединение и пересечение.#theory // Just Python
Ruff
Ruff — это новый, быстроразвивающийся линтер Python кода, призванный заменить flake8 и isort.
Основным преимуществом Ruff является его скорость. Ruff в 10-100 раз быстрее аналогов (Линтер написан на Rust). В сравнении с flake8, автор заявляет о практически полном совпадении с набором правил инструмента и нативной реализацией популярных плагинов (flake8-bugbear и т.д.). Также Ruff совместим с Black «из коробки».
Ruff может форматировать код. Например, он автоматически удаляет неиспользуемые импорты. Что касается сортировки и группировки строк импорта, то она практически идентична isort.
#theory // Just Python
Ruff — это новый, быстроразвивающийся линтер Python кода, призванный заменить flake8 и isort.
Основным преимуществом Ruff является его скорость. Ruff в 10-100 раз быстрее аналогов (Линтер написан на Rust). В сравнении с flake8, автор заявляет о практически полном совпадении с набором правил инструмента и нативной реализацией популярных плагинов (flake8-bugbear и т.д.). Также Ruff совместим с Black «из коробки».
Ruff может форматировать код. Например, он автоматически удаляет неиспользуемые импорты. Что касается сортировки и группировки строк импорта, то она практически идентична isort.
#theory // Just Python
Функция next()
Функция next() возвращает следующий элемент итератора. Если итератор исчерпан, он возвращает значение по умолчанию, переданное в качестве аргумента. Если параметр по умолчанию не указан и итератор исчерпан, возникает исключение StopIteration.
#theory // Just Python
Функция next() возвращает следующий элемент итератора. Если итератор исчерпан, он возвращает значение по умолчанию, переданное в качестве аргумента. Если параметр по умолчанию не указан и итератор исчерпан, возникает исключение StopIteration.
#theory // Just Python
Метод swapcase()
Метод swapcase() в Python является встроенным методом строк (str), который создает новую строку, меняя регистр каждой буквы в исходной строке. Если буква была в верхнем регистре, она будет преобразована в нижний регистр, и наоборот.
Результатом будет строка 'hELLO, wORLD!'.
#theory // Just Python
Метод swapcase() в Python является встроенным методом строк (str), который создает новую строку, меняя регистр каждой буквы в исходной строке. Если буква была в верхнем регистре, она будет преобразована в нижний регистр, и наоборот.
Результатом будет строка 'hELLO, wORLD!'.
#theory // Just Python
Метод replace()
Метод replace() заменяет каждое соответствующее вхождение подстроки другой строкой. При необходимости ты можешь задать, сколько раз ты хочешь заменить исходную строку новой строкой. Если не указывать данное число, заменятся все вхождения.
#theory // Just Python
Метод replace() заменяет каждое соответствующее вхождение подстроки другой строкой. При необходимости ты можешь задать, сколько раз ты хочешь заменить исходную строку новой строкой. Если не указывать данное число, заменятся все вхождения.
#theory // Just Python
Метод isnumeric()
Метод isnumeric() проверяет, все ли символы в строке являются числовыми. Возвращает True, если все символы являются числовыми. В противном случае – False. В данном примере для symbol number возвращается True, так как “012345” являются числами. Для text возвращается False.
#theory // Just Python
Метод isnumeric() проверяет, все ли символы в строке являются числовыми. Возвращает True, если все символы являются числовыми. В противном случае – False. В данном примере для symbol number возвращается True, так как “012345” являются числами. Для text возвращается False.
#theory // Just Python
Метод difference update()
Метод difference update() вычисляет разницу между двумя множествами (A – B). В результате множество A обновляется полученным множеством. В данном примере продемонстрировано применение метода.
#theory // Just Python
Метод difference update() вычисляет разницу между двумя множествами (A – B). В результате множество A обновляется полученным множеством. В данном примере продемонстрировано применение метода.
#theory // Just Python