Python: ООП Python 11 Декоратор Property (Property decorator) - видео HD

Python: ООП Python 11 Декоратор Property (Property decorator) - видео
00:11:11

12n.ru 16680 роликов

ООП Python 11 Декоратор Property (Property decorator) - видео.

https://stepik.org/course/72969/promo Записывайся на курс на Stepic по ООП, где найдешь много практических задач 

Стать спонсором канала и получить доступ к дополнительным материалам по Pythonhttps://www.youtube.com/channel/UCMcC_43zGHttf9bY-...

https://boosty.to/egoroff_channel https://www.patreon.com/artem_egorov http://egoroffartem.pythonanywhere.com/course/oop-...

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

Декораторы в Python
Инициализация объекта. Метод init
Публичные, приватные, защищенные атрибуты и методыГеттер(getter) это специальный метод, позволяющий получить доступ к приватному атрибутуСеттер(setter) это специальный метод, дающий возможность присвоить новое значение приватному атрибутуСвойство(property atribute) позволяет установить геттеры и сеттеры копределенному атрибуту вашего классаДекоратор Property позволяет создавать свойстваПри использовании декоратора по умолчанию он создает getter методИ затем мы навешиваем setter и deliterProperty.setterProperty.deliterObject-Oriented Programming (OOP) in Python 3http://egoroffartem.pythonanywhere.com/course/oop-... https://stepik.org/course/63085/promo

Курс на степикеВсе видео этого курса можете найти на сайтеhttp://egoroffartem.pythonanywhere.com/course/pyth... или в Вкhttps://vk.com/videos-177962775?section=album_1 Если кому нужна помощь, предлагаю индивидуальные занятия. 

Подробнее пишите в личку в вкhttps://vk.com/artem_egoroff https://vk.com/python.study

В данном группе можете найти информацию о новых видео и задать вопросы

RSS
Максим Китаев
14:31
+1
Посмотрел уроки по замыканиям и декораторам. В принципе понял, но возник вопрос касательно 10:00
Когда мы присваиваем методу Сеттер функцию с отличным названием, то почему при обращении к ней, она работает как Геттер?
Ей передаются все методы из свойства myBalance?
Oksana Morozova
17:18
хорошо бы это все задачками подкреплять. где бы взять такие задачки? чтобы по конкретным темам, а не все в кучу, когда уже повылетала треть из головы
For Medicine
13:05
А почему ты написал "@my_balance.setter", но не написал "@my_balance.getter".
Почему его не надо писать, а сеттер надо? Не совсем понял этот момент просто.
Эдуард Александров
19:51
Аналогичный моему вопрос уже задавали, но ответа не было. Почему обращаться по имени метода-это плохо, а обращаться по точно такому же имени, но у свойства это хорошо. Только ради того чтобы скобки в конце названия не ставить?
commentator
21:58
А зачем нужно делать из функция свойства. Я просто не особо понимаю.
Artem Stepanenko
22:25
+1
А почему недоступен предыдущий урок 10?
Alexander 2.0
18:51
Скажите пожалуйста, @property можно декорировать только getter. да??
Artem Solov'yev
20:01
Тема хорошая, но не хватает заданий по отдельным темам на степике. Чувствую, что еще долго буду использовать этот канал, как справочное пособие по python)
Дмитрий Малышкин
18:54
Спасибо
Sechya
17:26
А если не пользоваться «синтаксическим сахаром» и декорировать через строчку, дабы лучше понять процесс декорирования, возникает вопрос.
До делитора полет нормальный, my_balance расширяем сеттером, а вот если далее тоже самое делать для делитора, и использовать ту же переменную my_property_balance, то перестает работать сеттер. То есть мы перезатираем свойство my_balance с сеттером?
Если создать ещё одну переменную my_property_balance2, и как основу для делитора использовать её, то все работает. Но создавать каждый раз новые переменные… может я не туда клоню?
class BankAccount:
def __init__(self, name, balance):
self.__name = name
self.__balance = balance

def my_balance(self):
return self.__balance

my_balance = property(my_balance)
#Первая переменная
my_property_balance1 = my_balance

def my_balance(self, value):
self.__balance = value

my_balance = my_property_balance1.setter(my_balance)
#Вторая переменная
my_property_balance2 = my_balance

def my_balance(self):
del self.__balance

my_balance = my_property_balance2.deleter(my_balance)