Дескрипторы в Python - максимальная инкапсуляция

  Рет қаралды 2,245

Python Clinic

Python Clinic

Күн бұрын

Дескрипторы это полезный инструмент инкапсуляции, который дополняет проперти. Я использую оба инструмента в зависимости от ситуации, дескрипторы для набора какой-то базы "фундаментальных" объектов, проперти для тех частей логики, которые уж точно должны оставаться внутри самого класса.
Группа в тг, в которой я даю дополнительный контекст к своим видео - t.me/PythonClinicChnl
Таймкоды:
00:00 - интро
00:27 - чтение и запись
11:52 - только чтение
16:54 - чтение, запись и удаление
19:02 - выводы

Пікірлер: 35
@AlexandrKalinovsky
@AlexandrKalinovsky Жыл бұрын
Канал достоин 100к подписчиков! Пересмотрел много контента по теме, ваш контент один из лучших. Без лишней шелухи, обстоятельно и понятно.
@pythonclinic
@pythonclinic Жыл бұрын
спасибо) мы дорастём)
@MrSunTrope
@MrSunTrope Ай бұрын
Афигенно, все объяснил, спасибо
@arinawitch6928
@arinawitch6928 Ай бұрын
запишите, пожалуйста, видео про протоколы дескрипоров
@eng1673
@eng1673 Жыл бұрын
Интересные видео. Спасибо вам
@pythonclinic
@pythonclinic Жыл бұрын
всегда рад)
@Miron_MipoX
@Miron_MipoX 5 ай бұрын
Огонь!
@sladge17
@sladge17 Жыл бұрын
Урок, после которого я понял, как работают дескрипторы 😊
@pythonclinic
@pythonclinic Жыл бұрын
отлично, цель достигнута)
@user-it3yo1sn6i
@user-it3yo1sn6i Жыл бұрын
Отличный контент. Хорошо что ютуб выдал вас в рекомендациях. Не зря подписался. Скажите, а будет ли видео про декораторы классов и методов классов? Спасибо
@pythonclinic
@pythonclinic Жыл бұрын
обязательно будет, но пока трудно сказать когда именно, очень много всего запланировано по ООП
@user-it3yo1sn6i
@user-it3yo1sn6i Жыл бұрын
@@pythonclinic Здорово! Значит колокольчик был нажат не зря. А на какую тему следующее видео планируется? Уже интересно.
@pythonclinic
@pythonclinic Жыл бұрын
во вторник будет следующее видео о процессах и автоматизации работы с ними
@catstyle1101
@catstyle1101 Жыл бұрын
Почему так мало просмотров? Я не помню по чьей рекомендации подписался. Но точно не зря это сделал.
@pythonclinic
@pythonclinic Жыл бұрын
спасибо вам и всем, кто рекомендует и делится моими материалами) ещё вырастем)
@p.polunin
@p.polunin 4 ай бұрын
15:23, was_set будет глобальным на все экземпляры Dog? Значит в другом экземпляре я уже не смогу установить свойство?
@pythonclinic
@pythonclinic 4 ай бұрын
тут такая идея, изначально этот атрибут глобальный, чтобы все экземпляры по умолчанию имели значение False, но потом в любом экземпляре можно переопределить и опустить его на уровень экземпляра уже
@KhimichVladyslav
@KhimichVladyslav Жыл бұрын
я думаю меня многие поддержат, что все видео исключительной пользы. Изучаю Python месяцев 9, но не встречал такой глубокий контент
@pythonclinic
@pythonclinic Жыл бұрын
спасибо за отзыв)
@VI-war
@VI-war 10 ай бұрын
спасибо за труд, доступно и понятно) но с такой реализацией сеттера через дескриптор не получится создать два и более атрибутов класса значит ли это, что если тебе необходим только геттер, лучше использовать проперти?
@pythonclinic
@pythonclinic 10 ай бұрын
да, я бы так и делал, с проперти в такой ситуации будет несколько проще
@pavel7914
@pavel7914 10 ай бұрын
@pythonclinic не понимаю 11:24, откуда берётся атрибут _Name__name, в частности что такое _Name?
@pavel7914
@pavel7914 10 ай бұрын
и ещё вопрос, почему при создании двух разных экземпляров класса Dog создаётся только 1 экземпляр класса Name?
@pythonclinic
@pythonclinic 10 ай бұрын
потому что дескриптор отрабатывает только один раз, при создании самого класса Dog, но не при создании экземпляра Dog, и вот этот экземпляр класса Name будет на уровне класса Dog разделяться между всеми экземплярами Dog _Name это кусок псевдонимизации закрытого атрибута в классе Name, глянь плиз видео про инкапсуляцию, там подробно рассказывается, откуда оно берётся
@user-qv6sp1zv3s
@user-qv6sp1zv3s Жыл бұрын
Из личного опыта понял, для нас, русскоязычных, одна из основополагающих проблем в освоении программирования - это то что мы не можем читать и думать на языке программистов и документации. Доки на английском, большинство актуальной и топовой инфы на английском. Подсказки в консоли и интерпретаторе на английском. И даже умея читать на английском, мы не можем так же нативно воспринимать инфу как носитель. Вывод, английский нужно учить обязательно! Чем больше вы в английском, тем лучше и легче! PS. Спасибо автору, отличный контент!
@pythonclinic
@pythonclinic Жыл бұрын
вот прям согласен на тысячу процентов, всем своим студентам советую на первом же занятии уделять внимание, потому что низкий уровень инглиша означает проблемы с доками и средой, но ещё и проблемы на интервью
@zakirovio
@zakirovio 4 ай бұрын
еще как помню есть дандер метод __set_name__() для динамической генерации имен атрибутов, если не ошибаюсь
@pythonclinic
@pythonclinic 4 ай бұрын
ага, есть такая штука, позволяет задать имя класса, к которому дескриптор должен быть привязан (помогает с name mangling)
@romanlegenda6736
@romanlegenda6736 11 ай бұрын
В уроке создавались дескрипторы для атрибута класса? А что насчет атрибутов экземпляров класса, когда значения у каждого свои, я так понял: class Dog: def __init__(self): self.color = Color() # что такого?
@pythonclinic
@pythonclinic 11 ай бұрын
с технической точки зрения это возможно, но я бы на атрибуты экземпляров не транслировал, при наследовании будет трудно потом это разрулить
@railsabbitovich408
@railsabbitovich408 Жыл бұрын
Господи, неужели хоть одно толковое видео о дескрипторах на русском языке! Спасибо , стало понятно)
@pythonclinic
@pythonclinic Жыл бұрын
отлично, я рад)
@Asand3r
@Asand3r 9 ай бұрын
Какой ужасный стиль использования property, брр.
@pythonclinic
@pythonclinic 9 ай бұрын
сам в шоке
@tezl101
@tezl101 8 ай бұрын
Иммено из-за декораторов и редко использовал property, открыли мне более интересный стиль)@@pythonclinic
Механизм наследования в Python
22:59
Python Clinic
Рет қаралды 938
ООП: Инкапсуляция в python
51:12
Python Russian
Рет қаралды 12 М.
Can You Draw The PERFECT Circle?
00:57
Stokes Twins
Рет қаралды 95 МЛН
ПЕЙ МОЛОКО КАК ФОКУСНИК
00:37
Masomka
Рет қаралды 10 МЛН
Metaclasses in Python
15:45
mCoding
Рет қаралды 148 М.
Абстрактные классы в Python
12:35
Python Clinic
Рет қаралды 2,7 М.
Properties в Python - во-первых это красиво
20:43
Python Clinic
Рет қаралды 1,3 М.
8 things in Python you didn't realize are descriptors
14:21
В чем разница staticmethod и classmethod python
6:48
Django School | Омельченко Михаил
Рет қаралды 12 М.
Can You Draw The PERFECT Circle?
00:57
Stokes Twins
Рет қаралды 95 МЛН