Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: property, getter, setter, oop

Что делает декоратор @property?

Этот вопрос проверяет знание декоратора @property, который используется для создания методов-доступов (геттеров и сеттеров) в Python.

Короткий ответ

Декоратор @property превращает метод класса в атрибут, который можно получить или установить через стандартный синтаксис атрибутов. Это удобно для контроля доступа к данным и обеспечения инкапсуляции.

Длинный ответ

С помощью @property можно создать геттеры и сеттеры, сохраняя синтаксис работы с атрибутами. Геттер определяется декоратором @property, а сеттер — через одноимённый метод с декоратором @<имя_геттера>.setter.

Пример:

class Circle:
    	def __init__(self, radius):
        	self._radius = radius

    	@property
    	def radius(self):
        	return self._radius

    	@radius.setter
    	def radius(self, value):
        	if value > 0:
            		self._radius = value
        	else:
           		 raise ValueError("Радиус должен быть положительным")

circle = Circle(5)
print(circle.radius)  # 5
circle.radius = 10    # Установка нового значения
print(circle.radius)  # 10
# circle.radius = -1  # Ошибка: ValueError

Использование @property улучшает читаемость и безопасность, позволяя добавлять логику к доступу и изменению атрибутов без изменения интерфейса класса.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Python

    Python

Ключевые слова

#property

#getter

#setter

#oop

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.