Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pyOpPdInr 12 of 174 menu
◀ ▶

Введение в свойства через декоратор в Python

Пусть у нас есть следующий класс с приватными свойствами:

class User: def __init__(self, name): self.__name = name

Как вы видите, имя задается один раз при создании объекта. Сейчас, однако, это свойство невозможно прочитать, ведь оно приватное и нет способа обратиться к нему снаружи класса.

В Python для чтения таких данных используют свойство: над методом ставят декоратор property, и снаружи значение читают по имени, без вызова метода с круглыми скобками.

Давайте сделаем свойство name, которое будет возвращать приватное имя:

class User: def __init__(self, name): self.__name = name @property def name(self): return self.__name

Создадим объект, параметром передав имя юзера:

user = User('john')

Прочитаем имя через свойство:

print(user.name) # выведет 'john'
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить