Встречается на собеседованиях • сегодня

Какие знаешь теории инкапсуляции

В Python инкапсуляция реализуется через соглашения об именовании и механизмы доступа. Основные подходы:

  1. Публичные атрибуты - обычные переменные (без подчеркиваний)
  2. Защищенные атрибуты - с одним подчеркиванием _var (соглашение, но доступ остается)
  3. Приватные атрибуты - с двумя подчеркиваниями __var (name mangling)

Пример:

python
class BankAccount:
    def __init__(self, balance):
        self.__balance = balance  # приватный атрибут
        
    def get_balance(self):  # публичный метод доступа
        return self.__balance
        
    def _validate_amount(self, amount):  # защищенный метод
        return amount > 0

Важные нюансы:

  • Приватные атрибуты не полностью скрыты (доступ через _ClassName__var)
  • Для управления доступом используют property/decorators
  • Python доверяет разработчику (соглашение важнее строгой инкапсуляции)

Инкапсуляция в Python - больше про интерфейс и соглашения, чем про жесткое ограничение доступа.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы