Станьте Дизайнером за 0₽
Зарплата начинающего дизайнера от 50 000₽, а стоимость обучения на профессию в онлайн-школах от 120 000 до 220 000 рублей.
Прямо сейчас GeekBrains отдают бесплатно 5 курсов по IT, в том числе и курс по дизайну.
Переходите по ссылке и забирайте курс по дизайну. Акция продлится до 21 мая: https://go.redav.online/5bbe69c434336f40?erid=LdtCK7b7u&m=1
Общие свойства объектов (ч.1)
Любой объект может содержать дополнительную информацию, полезную при отладке или приведении типов.
repr(self) — информационная строка об объекте. Выводится при вызове функции repr(...) или в момент отладки.
Как в Python создать класс
В Python классы и объекты по смыслу не отличаются от других языков. Нюансы в реализации. Для создания класса в Питоне необходимо написать инструкцию class, а затем выбрать имя.
Для именования классов в Python обычно используют стиль "camel case", где первая буква — заглавная.
Методы сравнения объектов между собой (ч.8)
bool(self) — вызывается функцией bool(...) и возвращает True или False в соответствии с реализацией. Если данный метод не реализован в объекте, и объект является какой-либо последовательностью (списком, кортежем и т.д.), вместо него вызывается метод len. Используется, в основном, в условиях if.
Бесплатный доступ к курсу по основам Python — это ваш шанс начать путь к успешной карьере в IT-сфере.
Почему Python? Он лидирует в рейтинге языков программирования. Например, такие гиганты, как Uber, Google и Netflix, активно используют его при разработке и тестировании.
Попробуйте себя в роли Python-разработчика и пройдите несколько модулей курса бесплатно прямо сейчас!
После этих модулей вы:
— напишете первую программу на языке Python;
— научитесь работать с переменными, строками, числами, вводить и выводить данные в программе;
— пройдете стажировку под руководством опытного тимлида;
— оцените свои силы и решите, стоит ли учиться на полном курсе.
Только в этом мае — освойте новую профессию с мегаскидкой до 60%
Не откладывайте в долгий ящик. Переходите по ссылке, чтобы узнать подробнее о курсе и получить скидку: https://epic.st/XuXI-?erid=2VtzqvwnKRk
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
Методы сравнения объектов между собой (ч.5)
Метод gt(self, other) вызывается при выполнении операции сравнения "больше" (>). Этот метод позволяет определить, какой из двух объектов больше с точки зрения вашего класса. Например, если у вас есть класс Person с атрибутом age, вы можете определить метод gt(self, other), чтобы сравнивать людей по их возрасту.
Методы сравнения объектов между собой (ч.4)
Метод ne(self, other) позволяет определить, какие условия должны выполняться для того, чтобы два объекта вашего класса были считаны не равными. В приведенном примере, если хотя бы одна из координат x или y точек отличается, то точки считаются не равными.
Таким образом, использование метода ne(self, other) позволяет гибко управлять сравнением объектов вашего класса и определять, какие именно параметры считать при сравнении.
Всего за 5 минут определите подходящую вам IT-профессию.
Онлайн-школа Skillfactory разработала уникальный профориентационный тест из 18 вопросов. Ответив на них, узнаете наиболее подходящую вам специальность.
Работайте в российских или зарубежных компаниях, в офисе или удаленно. Для айтишников — сниженная ставка по ипотеке, высокая зарплата, комфортные условия и гибкий график.
Переходите по специальной ссылке, чтобы пройти тест, получить карьерный гайд по профессии и скидку 50% на обучение.
Реклама. Информация о рекламодателе по ссылкам в посте.
Методы сравнения объектов между собой (ч.1)
Метод lt(self, other) в Python позволяет определить порядок сортировки объектов при использовании встроенных функций сортировки, таких как sorted(). При реализации этого метода в классе можно указать, какие атрибуты объекта должны учитываться при сравнении с другими объектами для определения их относительного порядка.
Например, предположим, что у нас есть класс Point, который представляет собой точку на плоскости и имеет атрибуты x и y. Мы можем определить метод lt(self, other) в классе Point, чтобы при сравнении двух точек учитывался их порядок по оси x, а в случае равенства координат по оси x - по оси y.
Атрибуты объекта
Атрибуты класса могут быть динамическими и статическими. На уровне объекта они инициализируются так.
Переопределение
Сейчас у нас и кошка, и собака просто "издают животные звуки", а хотелось бы, конечно, слышать звуки, свойственные именно этим животным. Для этого существует механика переопределения. Достаточно объявить в классе-наследнике метод с тем же названием, что и в базовом классе.
Данные правят миром, а инженеры данных помогают компаниям управлять этим стратегическим ресурсом.
На дне открытых дверей онлайн-магистратуры ВШЭ и Нетологии «Инженерия данных» 16 мая в 18:00 мск вы разберётесь в ключевых задачах профессии и её перспективах. А также поймёте, как устроена онлайн-магистратура и как в неё поступить. Встреча будет полезна аналитикам данных, разработчикам и выпускникам технических специальностей.
Присоединяйтесь — узнайте, как получить новые востребованные компетенции и сделать следующий шаг в карьере с Big Data.
🗓Дата: 16 мая, 18:00 мск
📋Регистрация: https://netolo.gy/c94P
Реклама. ООО "Нетология". Erid 2VSb5zHFNrc
Конструктор
Метод, который вызывается при создании объектов, в ООП зовётся конструктором. Он нужен для объектов, которые изначально должны иметь какие-то значение. Например, пустые экземпляры класса "Студент" бессмысленны, и желательно иметь хотя бы минимальный обозначенный набор вроде имени, фамилии и группы.
В качестве Питоновского конструктора выступает метод init()
Создание и удаление объектов
Любое описание объекта в объектно-ориентированном программировании начинается с создания объекта и его удаления.
new(cls[, ...]) — метод создания типа класса. Он принимает первым аргументом тип класса, в котором он вызывается, и, как правило, возвращает этот же тип. В основном используется, чтобы настраивать создание экземпляра класса тех объектов, которые наследуются от неизменяемых типов (например, int, str, или tuple).
init(self[, ...]) — конструктор класса. Используется при определении объектов.
init_subclass(cls) — позволяет переопределить создание подклассов объекта.
Станьте Тестировщиком за 0₽
Зарплата начинающего Тестировщика от 80 000₽, а стоимость обучения на профессию в онлайн-школах от 100 000 до 250 000 рублей.
Прямо сейчас GeekBrains отдают бесплатно курс по тестированию.
Переходите по ссылке и участвуйте в тест-драйве профессии. Акция продлится до 15 мая: https://go.redav.online/4d6473cec7a78860?erid=LdtCK7b7u&m=1
Общие свойства объектов (ч.2)
str(self) — вызывается при вызове функции str(...), возвращает строковый объект.
Программирование сейчас - один из немногих социальных лифтов, доступных всем!
Лучший способ начать свой путь в IT - изучать Python. Этот язык не такой сложный для изучения, однако на нем создают сайты, чат-боты и даже искусственный интеллект. Например, Netflix, YouTube и Google написаны на этом языке.
С нуля стать опытным разработчиком со средней зарплатой в 180 000 рублей можно в онлайн-школе Product Star на курсе “Профессия: Python-разработчик”. Курс создан специалистами из топовых компаний с реальным опытом в индустрии, благодаря чему в процессе обучения вы будете погружаться в реальные кейсы.
После обучения ваше портфолио пополнится проектами, которые будет не стыдно показать любому работодателю. И самое главное: Product Star гарантируют трудоустройство, а если в процессе поймете, что специальность не для вас, вам вернут деньги.
Станьте Python-разработчиком вместе с ProductStar. Скидка до 57% и техническое собеседование с топовым разработчиком в подарок - https://tglink.io/2f3f4a508b0a
Реклама. ООО "ТРИВИУМ". ИНН 7806297293.
Станьте Python-разработчиком за 0₽
Зарплата начинающего Python разработчика от 100 000₽, а стоимость обучения на профессию в онлайн-школах от 120 000 до 300 000 рублей.
Прямо сейчас GeekBrains отдают бесплатно 3 курса по IT, в том числе и курс по Python.
⚠️Переходите по ссылке и забирайте курс по Python — только до 20-го мая: https://go.redav.online/f332e73eaf7cff80?erid=LdtCK7b7u&m=1
Методы сравнения объектов между собой (ч.7)
В данном примере класс Person определен с атрибутами name и age. Метод hash(self) переопределен для этого класса, чтобы генерировать уникальный хэш на основе значений его атрибутов.
При создании объектов person1 и person3 с одинаковыми значениями атрибутов name и age, у них будет одинаковый хэш, что демонстрирует работу метода hash.
Этот лайфхак полезен при работе с типами данных, которые используют хэширование для быстрого доступа, такими как словари или множества. Правильная реализация метода hash позволяет использовать объекты вашего класса как ключи в словарях или элементы в множествах, обеспечивая эффективность и уникальность при доступе к данным.
Методы сравнения объектов между собой (ч.6)
В данном примере мы создаем класс Item, у которого есть атрибут value. Метод ge(self, other) определяет поведение оператора >= для сравнения двух объектов типа Item по их значениям. Когда мы пишем item1 >= item2, вызывается метод item1.ge(item2), который сравнивает значения атрибутов value у обоих объектов и возвращает соответствующий результат сравнения.
Этот лайфхак позволяет более гибко управлять сравнением объектов в Python и добавляет возможность определить собственное поведение для оператора >= в контексте вашего класса.
Skillbox дарит 6 месяцев бесплатного обучения интернет-профессиям с гарантией трудоустройства.
Список профессий участвующих в акции:
SMM-маркетолог (зп 150 000₽)
Веб-дизайнер (зп 140 000₽)
Графический дизайнер (зп 80 000₽)
Data Analyst (зп 285 000₽)
Java-разработчик (зп 150 000₽)
Разработчик игр на Unity (зп 120 000₽)
Тестировщик ПО (зп 165 000₽)
Приобретение обучения гарантирует трудоустройство, или Skillbox вернет деньги!
⚠️Акция действительна только по ссылкам в посте. Срок окончания акции 20 мая 2024 года.
Методы сравнения объектов между собой (ч.3)
Метод eq(self, other) предназначен для определения поведения оператора сравнения "==" для объектов определенного класса. Этот метод позволяет сравнивать два объекта и определять, равны ли они друг другу.
Методы сравнения объектов между собой (ч.2)
Метод le(self, other) позволяет определить, каким образом объект вашего класса должен вести себя, когда сравнивается с другим объектом с помощью оператора "<=". Например, если вы хотите сравнивать объекты вашего класса по каким-то определенным критериям (например, по их атрибутам), вы можете переопределить метод le(self, other) таким образом, чтобы он возвращал True, если объект self меньше или равен объекту other в соответствии с этими критериями, и False в противном случае.
Хотите попробовать себя в роли аналитика и попрактиковаться на реальных задачах?
Приходите на бесплатный курс-симулятор Нетологии и Yandex Cloud «Основы анализа данных в SQL, Python, Power BI, DataLens».
В этой профессии много разных направлений — аналитик данных, BI-аналитик, продуктовый аналитик, Data Scientist. Но везде пригодится навык работы с инструментами-помощниками, которые вы и освоите на курсе.
Эксперты-практики расскажут, как делать простые отчёты, исследовать данные и строить интерактивные дашборды. А чтобы понять, что анализ данных — это точно ваше, вместе решите практические задачи из реальных кейсов.
Воспользуйтесь шансом попробовать новые инструменты и запишитесь на бесплатный курс Нетологии.
Регистрация: https://netolo.gy/c9KJ
Реклама. ООО "Нетология" LatgC6CkV
Пройдите практический мини-курс для Data Scientist бесплатно, вместо 21 999Р
Испытайте себя в новой профессии, погрузившись в мир машинного обучения, дата-инженерии и аналитики данных — самые востребованные направления современного IT.
Онлайн-школа GeekBrains специально для этого курса пригласила ментора из Сбера. Вся трех недельная программа практики состоит из концентрата её знаний, собранных за 10 лет работы.
Это еще не всё, регистрируйтесь по ссылке, и вы получите в подарок: курс по нейросетям, курс "Быстрые деньги" для развития карьеры на фрилансе.
Реклама. Информация о рекламодателе по ссылкам в посте.
Методы сравнения объектов между собой (ч.2)
Метод le(self, other) позволяет определить, каким образом объект вашего класса должен вести себя, когда сравнивается с другим объектом с помощью оператора "<=". Например, если вы хотите сравнивать объекты вашего класса по каким-то определенным критериям (например, по их атрибутам), вы можете переопределить метод le(self, other) таким образом, чтобы он возвращал True, если объект self меньше или равен объекту other в соответствии с этими критериями, и False в противном случае.
Методы сравнения объектов между собой (ч.1)
Метод lt(self, other) в Python позволяет определить порядок сортировки объектов при использовании встроенных функций сортировки, таких как sorted(). При реализации этого метода в классе можно указать, какие атрибуты объекта должны учитываться при сравнении с другими объектами для определения их относительного порядка.
Например, предположим, что у нас есть класс Point, который представляет собой точку на плоскости и имеет атрибуты x и y. Мы можем определить метод lt(self, other) в классе Point, чтобы при сравнении двух точек учитывался их порядок по оси x, а в случае равенства координат по оси x - по оси y.
Станьте IT-специалистом с зарплатой от 100 000 рублей бесплатно
👉 Только в мае GeekBrains дарит 3 недельное обучение на профессию Python разработчика бесплатно.
Записавшись на обучение, вы получите не только технические знания, но и возможность войти в профессию с высоким спросом и перспективами для карьерного роста.
Не упустите шанс начать свой путь в IT с поддержкой опытных преподавателей и располагающей обучающей средой.
Зарегистрируйтесь сейчас и получите бонусом карьерную консультацию.
Реклама. Информация о рекламодателе по ссылкам в посте.
Генераторные фунции (generator functions)
Если предикатов фильтрации или обработчиков элементов списка много, то удобнее использовать генераторы. Они могут не дать прироста скорости, но помогут сэкономить память.
Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield.
В каких ситуациях возникает исключение NotImplementedError
Исключение NotImplementedError возникает, когда метод или функция должны быть реализованы в подклассе, но не были. Это может произойти, когда родительский класс определяет метод, но не реализует его сам, а оставляет это для подклассов. В этом случае, если подкласс не реализует метод, он будет вызывать исключение NotImplementedError. Это может быть полезно для отладки, чтобы убедиться, что все необходимые методы реализованы в подклассах. Это также может возникнуть в других ситуациях, например, если вы пытаетесь использовать неопределенную функцию или метод.