🐍 Укус питона 🐍
2.47K subscribers
1.07K photos
24 videos
285 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет код?
👩‍💻 Дескрипторы в Python — сердце свойств и ORM

Дескрипторы — это объекты, которые управляют доступом к атрибутам других классов через методы __get__, __set__ и __delete__.

Они лежат в основе property, @staticmethod, @classmethod и ORM вроде Django.


➡️ Пример:

class Celsius:
def __get__(self, instance, owner):
return instance._temp

def __set__(self, instance, value):
if value < -273.15:
raise ValueError("Температура ниже абсолютного нуля!")
instance._temp = value


class Temperature:
temp = Celsius()


t = Temperature()
t.temp = 25
print(t.temp) # 25


📌 Дескрипторы — это низкоуровневая магия, на которой построен весь механизм Python-свойств.
Please open Telegram to view this post
VIEW IN TELEGRAM