Расширение возможности вычитания для пользовательских объектов
Метод rsub в Python используется для реализации обратного вычитания, когда операнд слева не поддерживает соответствующий метод sub. Это позволяет определить, как ваш объект должен вычитаться из другого объекта.
Рассмотрим пример, в котором у нас есть класс, представляющий пользовательские числа, и мы хотим поддерживать вычитание этих чисел как с обычными числами Python (int, float), так и с другими экземплярами нашего класса.
Этот лайфхак позволяет сделать ваш класс более универсальным и поддерживающим операции вычитания с различными типами данных, что повышает его гибкость и удобство использования.
Расширение возможности сложения для пользовательских объектов
radd — это метод Python, который позволяет реализовать операцию сложения с обратным порядком операндов. Он вызывается, когда объект справа от оператора сложения не поддерживает соответствующий метод add.
Представьте, что у вас есть класс, который представляет пользовательские числа. Вы хотите, чтобы эти числа могли складываться с обычными числами Python (int, float) и другими экземплярами своего класса.
Этот подход позволяет сделать ваш класс более гибким и совместимым с различными типами данных, упрощая использование и повышая его удобство.
Обычные арифметические операторы (ч.13)
Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция побитового ИЛИ имеет смысл. Переопределение метода or позволяет объекту поддерживать стандартную операцию побитового ИЛИ в Python.
Обычные арифметические операторы (ч.12)
Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция побитового исключающего ИЛИ имеет смысл. Переопределение метода xor позволяет объекту поддерживать стандартную операцию побитового исключающего ИЛИ в Python.
Найдите высокооплачиваемую и подходящую вам профессию меньше чем за месяц!
В то время, как многие люди всё еще не нашли своё призвание или работают за копейки, большие IT-компании ломают голову над поиском себе толковых сотрудников, назначая заработную плату от 100 тыс.руб. Просто об этом мало кто знает.
Специально для вас GeekBrains организовали марафон поиска профессий из самых востребованных и самых оплачиваемых профессий, под кураторством экспертов высшего уровня.
Регистрируйтесь на марафон, и получите свою новую профессию уже в июне.
Реклама. Информация о рекламодателе по ссылкам в посте.
Обычные арифметические операторы (ч.10)
Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция сдвига влево имеет смысл. Переопределение метода lshift позволяет объекту поддерживать стандартную операцию сдвига влево в Python.
Обычные арифметические операторы (ч.9)
Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операций возведения в степень и взятия по модулю имеет смысл. Переопределение метода pow позволяет объекту поддерживать стандартные операции возведения в степень и взятия по модулю в Python.
Обычные арифметические операторы (ч.8)
Этот лайфхак полезен при работе с дробями или другими типами данных, где определение операций целочисленного деления и остатка имеет смысл. Переопределение метода divmod позволяет объекту поддерживать стандартную функцию divmod() в Python, возвращая частное и остаток от деления в виде кортежа.
Обычные арифметические операторы (ч.7)
Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операции остатка от деления имеет смысл. Переопределение метода mod позволяет объекту поддерживать стандартную математическую операцию остатка от деления в Python.
Обычные арифметические операторы (ч.6)
Этот лайфхак полезен при работе с комплексными числами или другими типами данных, где определение операции целочисленного деления имеет смысл. Переопределение метода floordiv позволяет объекту поддерживать стандартную математическую операцию целочисленного деления в Python.
Обычные арифметические операторы (ч.5)
Класс Rational реализует метод truediv(self, other), который определяет поведение оператора деления /.
В методе truediv, если операнд other также является объектом класса Rational, то выполняется деление дробей, умножая на обратную дробь.
Если операнд other является целым числом или числом с плавающей запятой, то знаменатель дроби умножается на это число.
Если операнд other не является ни Rational, ни числом, вызывается исключение TypeError.
Метод str позволяет выводить дробь в виде строки.
Этот лайфхак полезен при работе с дробями или другими типами данных, где определение операции деления имеет смысл. Переопределение метода truediv позволяет объекту поддерживать стандартную математическую операцию деления в Python.
Обычные арифметические операторы (ч.4)
Класс Matrix реализует метод matmul(self, other), который определяет поведение оператора матричного умножения @.
В методе matmul, проверяется, что число столбцов первой матрицы равно числу строк второй матрицы, так как это условие необходимо для умножения матриц.
Затем создается результатирующая матрица и заполняется нулями.
Умножение матриц выполняется с помощью вложенных циклов.
Результат умножения возвращается в виде новой матрицы.
Этот лайфхак полезен для работы с линейной алгеброй и матричными операциями, где оператор @ позволяет интуитивно и легко выполнять умножение матриц, переопределяя метод matmul для пользовательских классов в Python.
Обычные арифметические операторы (ч.3)
Метод mul(self, other) позволяет определить поведение объекта при использовании оператора умножения *. В данном примере, если операнд other является числом (целым или вещественным), мы умножаем соответствующие координаты вектора на это число и возвращаем новый объект Vector, представляющий результат умножения. Если other не является числом, мы вызываем исключение TypeError, указывая, что операция не поддерживается.
Метод rmul(self, other) позволяет поддерживать коммутативность умножения, т.е. возможность умножения числа на вектор (например, 3 * v). Этот метод просто вызывает mul, чтобы обеспечить одинаковое поведение для обеих форм умножения.
Этот лайфхак полезен при работе с пользовательскими типами данных, такими как векторы, где определение операции умножения имеет смысл. Переопределение методов mul и rmul позволяет объекту поддерживать стандартную математическую операцию умножения в Python.
Обычные арифметические операторы (ч.2)
Метод sub(self, other) позволяет определить поведение объекта при использовании оператора вычитания -. В данном примере, если операнд other также является объектом типа Vector, мы вычитаем соответствующие координаты векторов и возвращаем новый объект Vector, представляющий разность. Если other не является вектором, мы вызываем исключение TypeError, указывая, что операция не поддерживается.
Этот лайфхак полезен при работе с пользовательскими типами данных, такими как векторы, матрицы и другие структуры данных, где определение операции вычитания имеет смысл. Переопределение метода sub позволяет объекту поддерживать стандартную математическую операцию вычитания в Python.
Счетчик ссылок
Каждый созданный объект имеет специальное поле — счетчик ссылок. Он хранит в себе количество ссылающихся на него объектов. Увеличивает свое значение, например, когда используется операция присваивания, или когда объект становится частью списка. При удалении переменной или же при использовании del счетчик ссылок уменьшается на 1. Например, при завершении работы функции, где эта переменная была объявлена.
Станьте менеджером Wildbrerries и зарабатывайте удаленно от 100 тыс руб. в месяц
В 2024 году рост покупателей на маркетплейсах неуклонно растет и уже прибавил 30% спроса по сравнению с предыдущим годом. Это говорит о высоком уровне востребованности сотрудников и специалистов по работе с маркетплейсами.
Не знаете как начать? Eduson Academy создала для вас простой и понятный, пошаговый курс из 9 уроков, пройдя который вы уже можете претендовать на зарплату в 50 тыс.руб.
⚠️ Внимание, на акцию выделено только 30 мест, получить доступ к курсу по ссылке 👈
Реклама. Информация о рекламодателе по ссылкам в посте.
Использование defaultdict для работы со словарями
При работе со словарями часто возникает необходимость инициализировать значения по умолчанию, чтобы избежать ошибок при попытке доступа к несуществующим ключам. В таких случаях полезно использовать defaultdict из модуля collections.
Использование defaultdict упрощает код и избавляет от необходимости вручную проверять существование ключей в словаре, делая его более читаемым и эффективным.
Научись бесплатно всем навыкам Тестировщика ПО за 3 дня
Позиция тестировщика — самая доступная и быстрая возможность сделать карьеру в IT. Особенно в текущих реалиях, во время кадрового голода у крупных компаний.
Пройдите пошаговый, детально разработанный симулятор работы Тестировщика ПО от SkillFactory и получите профессию с невероятными преимуществами:
— Востребованность (5000 вакансий на HH)
— Высокая ЗП (старт от 50 000₽)
— Минимальный порог входа (без тех.образования)
— Удаленная работа
Регистрируйтесь по специальной ссылке, и забирайте в подарок Гайд "Как провести аудит своих навыков"
Реклама. Информация о рекламодателе по ссылкам в посте.
Обычные арифметические операторы (ч.12)
Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция побитового И имеет смысл. Переопределение метода and позволяет объекту поддерживать стандартную операцию побитового И в Python.
Обычные арифметические операторы (ч.11)
Этот лайфхак полезен при работе с бинарными числами или другими типами данных, где операция сдвига вправо имеет смысл. Переопределение метода rshift позволяет объекту поддерживать стандартную операцию сдвига вправо в Python.
Станьте Дизайнером за 0₽
Зарплата начинающего дизайнера от 50 000₽, а стоимость обучения на профессию в онлайн-школах от 120 000 до 220 000 рублей.
Прямо сейчас GeekBrains отдают бесплатно 5 курсов по IT, в том числе и курс по дизайну.
Переходите по ссылке и забирайте курс по дизайну. Акция продлится до 10 июня: https://go.redav.online/0a6d2b2ddc19b1f0?erid=LdtCK7b7u&m=1
Станьте Python-разработчиком за 0₽
Зарплата начинающего Python разработчика от 100 000₽, а стоимость обучения на профессию в онлайн-школах от 120 000 до 300 000 рублей.
Прямо сейчас GeekBrains отдают бесплатно 3 курса по IT, в том числе и курс по Python.
⚠️Переходите по ссылке и забирайте курс по Python — только до 7-го июня: https://go.redav.online/0aae91469a0e3810?erid=LdtCK7b7u&m=1
Пройдите практический мини-курс для Data Scientist бесплатно, вместо 21 999Р
Испытайте себя в новой профессии, погрузившись в мир машинного обучения, дата-инженерии и аналитики данных — самые востребованные направления современного IT.
Онлайн-школа GeekBrains специально для этого курса пригласила ментора из Сбера. Вся трех недельная программа практики состоит из концентрата её знаний, собранных за 10 лет работы.
Это еще не всё, регистрируйтесь по ссылке, и вы получите в подарок: курс по нейросетям, курс "Быстрые деньги" для развития карьеры на фрилансе.
Реклама. Информация о рекламодателе по ссылкам в посте.
Skillbox дарит 6 месяцев бесплатного обучения интернет-профессиям с гарантией трудоустройства.
Список профессий участвующих в акции:
SMM-маркетолог (зп 150 000₽)
Веб-дизайнер (зп 140 000₽)
Графический дизайнер (зп 80 000₽)
Data Analyst (зп 285 000₽)
Java-разработчик (зп 150 000₽)
Разработчик игр на Unity (зп 120 000₽)
Тестировщик ПО (зп 165 000₽)
Приобретение обучения гарантирует трудоустройство, или Skillbox вернет деньги!
⚠️Акция действительна только по ссылкам в посте. Срок окончания акции 7 июня 2024 года.
Получите специальность веб-разработчика и создайте свой первый проект с нуля
Вы пользуетесь интернет-банкингом, социальными сетями или поисковиками? Всё это сделано веб-разработчиками, именно поэтому прибыль бизнеса во многом зависит от этих людей, а средняя зарплата такого middle специалиста составляет 125 тыс.руб.
Eduson Academy создала для вас простой курс, в котором есть всё необходимое для эффективного обучения:
— Интерактивные тренажеры
— Задания на HTML и CSS
— Видеолекции и логриды
— Специальные тесты
— И многое другое
Регистрируйтесь на бесплатный курс по ссылке, и закончите его с готовым портфолио, которое можно показать работодателю.
Реклама. Информация о рекламодателе по ссылкам в посте.
Обучитесь профессии UX/UI-дизайнера, создав свой собственный прототип приложения всего за 3 дня
Во всех сферах, где человек взаимодействует с экраном - сайты, приложения, программы, UX/UI-дизайнер - это самый незаменимый работник. Его задача умело проанализировать процессы и превратить в удобный для пользователя интерфейс. Такие специалисты ценятся на вес золота и получают среднюю заработную плату в размере 100 тыс.руб.
Bang Bang Education проводит бесплатный трехдневный интенсив на котором вы узнаете все инструменты работы UX/UI-дизайнера и уже создадите своё портфолио.
Записывайтесь на занятия по специальной ссылке, и вы получите в подарок Курс "UX Поведенческое проектирование". Для опоздавших будет сделана запись. 😉
Реклама. Информация о рекламодателе по ссылкам в посте.
Узнайте как вырасти с нуля до middle в дизайне за один воркшоп
Возможно вы не заметили, но вы ежедневно сталкиваетесь с работами графических дизайнеров, взять даже пару-тройку постов сверху. Да, за каждую такую картинку платят, вы можете быть свободным фрилансером с доходом от 80 тыс. руб. в месяц или же найти работодателя на HH поскольку за хороших дизайнеров идет жесточайшая борьба и зарплата там даже выше.
Специально для вас Eduson Academy проведет воркшоп на котором вы:
— Узнаете как стартовать с нуля
— Как построить карьерный трек
— Быстрее вырасти до желаемого дохода (даже если вы уже дизайнер)
Записывайтесь на воркшоп сегодня, и получите подарок — чек-лист для оценки компетенций графического дизайнера, подсказка: его использует большинство работодателей.
Реклама. Информация о рекламодателе по ссылкам в посте.
Узнайте как вырасти с нуля до middle в дизайне за один воркшоп
Возможно вы не заметили, но вы ежедневно сталкиваетесь с работами графических дизайнеров, взять даже пару-тройку постов сверху. Да, за каждую такую картинку платят, вы можете быть свободным фрилансером с доходом от 80 тыс. руб. в месяц или же найти работодателя на HH поскольку за хороших дизайнеров идет жесточайшая борьба и зарплата там даже выше.
Специально для вас Eduson Academy проведет воркшоп на котором вы:
— Узнаете как стартовать с нуля
— Как построить карьерный трек
— Быстрее вырасти до желаемого дохода (даже если вы уже дизайнер)
Записывайтесь на воркшоп сегодня, и получите подарок — чек-лист для оценки компетенций графического дизайнера, подсказка: его использует большинство работодателей.
Реклама. Информация о рекламодателе по ссылкам в посте.
В мире разработки Python — тот самый общительный парень в тусовке, с которым легче всего найти общий язык. Его относительно просто освоить, при этом это надёжный и востребованный язык программирования, на котором пишут сложные программы для разных отраслей.
На бесплатном курсе «Основы Python: создаём телеграм-бота» вы сможете познакомиться с основами Python. За 5 занятий вы погрузитесь в логику и синтаксис языка, изучите основные инструменты для написания кода, а также с нуля разработаете планировщик задач и создадите полезного Telegram-бота, которым сможет пользоваться кто угодно.
Реклама. ООО "Нетология". Erid 2VSb5xhBkVn
Wildberries — умер. Ходишь на работу — штрафуют на 30 000, не ходишь — штрафуют на 100 000. А потом штрафуют просто за то, что ты есть.
Поэтому бывший работник этой конторы открый канал, где собрал самые жуткие истории с работы на маркетплейсах.
Внутри: как "мертвые" сотрудники ходят на работу, почему WIldberries — полная дичь и что не так с ритейлом.
Подписывайтесь, потом сами себе спасибо скажете: /channel/+wWiGXcGExJYyYzY6