Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: encapsulation, oop

Расскажи об инкапсуляции

Этот вопрос проверяет понимание принципа инкапсуляции, который ограничивает доступ к данным и методам объекта, обеспечивая их безопасность.

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

Инкапсуляция — это принцип ООП, который ограничивает доступ к данным объекта, предоставляя контролируемый способ их изменения через методы. В Python для инкапсуляции используются уровни доступа: публичный, защищённый и приватный, обозначаемые через имена атрибутов (_protected, __private).

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

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

  • Публичные атрибуты: доступны везде.

  • Защищённые атрибуты: начинаются с _. Это соглашение, сигнализирующее о том, что атрибут не предназначен для прямого использования.

  • Приватные атрибуты: начинаются с __. Они автоматически "обфусцируются" (переписываются для предотвращения случайного доступа).

Пример:

class BankAccount:
    	def __init__(self, balance):
        	self.__balance = balance  # Приватный атрибут

    	def deposit(self, amount):
       		if amount > 0:
            		self.__balance += amount

    	def withdraw(self, amount):
        	if 0 < amount <= self.__balance:
            		self.__balance -= amount

    	def get_balance(self):
        	return self.__balance

account = BankAccount(100)
account.deposit(50)
print(account.get_balance())  # 150
# print(account.__balance)  # Ошибка: доступ запрещён

Инкапсуляция делает объекты защищёнными от случайных изменений, сохраняя их состояние консистентным.

  • Аватар

    Python Guru

    Sergey Filichkin

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

Уровень

  • Рейтинг:

    3

  • Сложность:

    5

Навыки

  • Python

    Python

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

#encapsulation

#oop

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

  • Аватар

    Python Guru

    Sergey Filichkin

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