ООП Python 11 Декоратор Property (Property decorator)

preview_player
Показать описание
🔥🔥🔥 Курс на степике по ООП 🔥🔥🔥

Степик с меня берет комиссию поэтому
1) Лучший способ приобрести курс - личный банковский перевод в РФ или покупку тарифа на boosty. Я добавлю вас вручную на курс по вашему ид.
2) оплачивать напрямую на степике по реферальной ссылке
так с меня возьмут меньше комиссии

🚀🚀🚀 Доступ к закрытым видео на один месяц вы можете получить, став спонсором канала

👉👉👉Телеграмм канал моего проекта

👉👉👉Группа в вк

Геттеры и сеттеры, property атрибуты

Декораторы в Python

Инициализация объекта. Метод init

Публичные, приватные, защищенные атрибуты и методы

Геттер(getter) это специальный метод, позволяющий получить доступ к приватному атрибуту

Сеттер(setter) это специальный метод, дающий возможность присвоить новое значение приватному атрибуту

Свойство(property atribute) позволяет установить геттеры и сеттеры к
определенному атрибуту вашего класса

Декоратор Property позволяет создавать свойства
При использовании декоратора по умолчанию он создает getter метод
И затем мы навешиваем setter и deliter

Object-Oriented Programming (OOP) in Python 3

Курс на степике

Все видео этого курса можете найти на сайте
Рекомендации по теме
Комментарии
Автор

🔥Более 180 практических заданий по ООП и все материалы по данному курсу находятся здесь:
По промокоду EGOROFF можно получить 10% скидки на данный курс

egoroffchannel
Автор

Артем, спасибо тебе огромное) это гениальное видео) Правда, чтобы досконально все понять, мне потребовалось его пересмотреть раз 40 в течение года)
На самом деле все крайне доходчиво и понятно!!

ЕрвандАгаджанян-вк
Автор

Сложная тема, дошло не сразу. Возникла мысль: впервые не понятно сразу, как объяснил Артем - странно, что-то со мной не так)) Даже пришлось загуглить доп материал. Почитав комменты, поняла, что я не одна такая. Артем, спасибо за уроки, за труд, лучшие материалы!

veronikabond
Автор

До 3:00, по сути, описывается (запутанно) три способа задать свойство:
1) balance = property(fget=get_balance, fset=set_balance, fdel=del_balance)
2) balance =
3) balance = property(get_balance, set_balance, del_balance)
Далее с декораторами производится поэтапная загрузка свойства функциями, без их самостоятельного определения.
Но зачем? Спрятать методы, оставив свойства, можно через private-наименования (__get_balance).
Основные парадигмы Питона: "Явное лучше неявного, простое лучше сложного". Конечно, это все субъективно. Полезно на таких заморочках понимать, как это работает в принципе, чтобы не впадать в ступор, увидев такое в чьем-то проекте.
Но для себя я пока не вижу смысла в таких конструкциях...

YbisZX
Автор

После второго просмотра, всё становится более - менее понятно. Декоратор property помогает избавиться от двойной функциональности в коде и облегчает работу. Самое главное запомнить синтаксис, но тут уже нужна практика. Спасибо за видео.

cashshish
Автор

Какое гениальное объяснение! показать как все сложно сделать без новых знаний, а затем показать как все просто с новыми знаниями. Топовый уровень преподавания)

DimulyaPlay
Автор

Это точно пранк. Аахахахх... Сижу на уроке уже 30 мин. ловлю каждое слово про каждую операцию, все осмысливаю по 10 раз, запоминаю. А в итоге все можно записать в одну строку. Это круто. Спасибо, что объясняете все так тщательно и выполняете операции разными способами. Ваши уроки помогают постичь суть языка и разобраться в самых тонких нюансах. Лайк

МарияКосолапова-пм
Автор

Из этого видео провалился в урок по декораторам. Из него провалился в урок про замыкания. Суммарно потратил 2 дня, чтобы понять/переварить всю информацию, а теперь сижу и понимаю, насколько это всё просто, но всё же не сразу доходит идея, для чего нужны эти "инструменты".

bogdanbogdanov
Автор

78 видео уроков все шло отлично... и тут я завис.

vegzuzvegzuz
Автор

Спасибо, друг! Очень доходчиво и явно со знанием дела

СергейНовиков-шю
Автор

Заворачивали, заворачивали и на финише завернули мне мозги. Теперь пару дней буду раскладывать всё по полочкам чтобы ничего не упустить для полного понимания.

АндрейДок-еи
Автор

обрадовался, что наконец-то нашел классного преподавателя, но на каком-то этапе все равно все сливается в кашу и слова становятся просто набором звуков...

mikha
Автор

Суть без технических деталей:
1. Задолбаешься в 2 местах имена менять, поэтому свойства удобнее писать над функцией;
2. Задолбаешься вспоминать названия функций, поэтому для стандартных действий названия не нужны, вместо них название атрибута, а сверху обозначение что эта функция по стандарту делает.

КацубаМихаил
Автор

Дело в том, что не успеваешь следить за мыслью, откуда что берется и куда. Если бы была нарисована схемка, то было бы проще)

sir
Автор

Артём здравствуйте. Еще раз спасибо за Ваши полезные, а самое главное понятные уроки. Про Вас рассмотреть возможность описать property как клас. Думаю тогда (таким как я) будет легче понять этот объект. Прошу также по возможности коснуться property в Вашем курсе по ООП.

ГерманРыков-ъв
Автор

Супер понятно !Лучшие обучающие видео по пайтону 😍

era_life
Автор

Отличное объяснение! Спасибо. Раньше обходил эти вещи стороной. Теперь понятно.

МаксимНиколаевичЧубин
Автор

Прошу заметить что мы создаем свойства под соответсвующими функциями.Также рекоммендую скопировать код в PyCharm, чтобы проще было разглядеть его.
class Circles:
def __init__(self, radius):
self.__radius = radius

def radius(self):
return self.__radius

radius = property(radius)
my_radius = radius # Сохраняем свойство в нвую переменную, чтобы избежать конфликта

def radius(self, value):
self.__radius = value

radius = my_radius.setter(radius)
my_radius = radius # Мы обновляем my_radius, чтобы в нем сохранился сеттер

def radius(self):
del self.__radius

radius = my_radius.deleter(radius)


Я взял класс попроще, чтобы не нагружать

Furlic-LastBraincell
Автор

Было бы значительно понятнее, если бы я мог увидеть, как выгладит код декоратора, т.е в тот момент, когда мы декорируем баланс как это выглядит внутри

bagkir
Автор

На этом уроке захотелось бросить освоение ООП в Python :(

ГригорийСитёв
join shbcf.ru