Встречается на собеседованиях • сегодня
Что такое инкапсуляция в Python
Инкапсуляция — это принцип ООП, который ограничивает доступ к данным и методам класса, скрывая внутреннюю реализацию. В Python нет строгой инкапсуляции, но есть соглашения:
- Публичные атрибуты — доступны везде.
- Защищённые (protected) — с одним подчёркиванием
_attr. Условное указание, что атрибут не предназначен для внешнего использования. - Приватные (private) — с двумя подчёркиваниями
__attr. Интерпретатор искажает имя (_ClassName__attr), затрудняя доступ извне.
Пример:
python
class BankAccount:
def __init__(self, balance):
self.__balance = balance # Приватный атрибут
def deposit(self, amount):
self.__balance += amount
def get_balance(self): # Публичный метод для доступа
return self.__balance
account = BankAccount(100)
print(account.get_balance()) # 100
# print(account.__balance) # Ошибка! AttributeErrorВажно: Python не запрещает доступ к приватным атрибутам (можно через _BankAccount__balance), но это нарушает инкапсуляцию.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы