Инструкции

Справочный раздел

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

Разделы инструкций

В сети

Пользователей: 247
Из них просматривают:
Аналоги: 96. Видео: 2. Галерея: 1. Даташиты: 60. Инструкции: 3. Новости: 16. Остальное: 10. Партнёры: 1. Программы: 5. Производители: 1. Профиль пользователя: 10. Расчёты: 1. Форум: 41.
Участников: 2
Гостей: 245

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

9.6 Частные атрибуты

Python предоставляет ограниченную поддержку частных атрибутов классов. Любой атрибут вида __атрибут (имя которого содержит не менее двух символов подчеркивания в начале и не более одного в конце) заменяется на _класс__атрибут, где класс — имя текущего класса с "обрезанными" символами подчеркивания в начале. Такая обработка производится независимо от синтаксического расположения идентификатора, то есть может использоваться для определения частных атрибутов, доступ к которым будет возможен только из методов этого класса и методов его экземпляров. (Имя может быть обрезано, если его длина превысит 255 символов.) Если Вы ссылаетесь на имя, находясь за пределами класса, или если имя класса состоит только из символов подчеркивания, то оно преобразованию не подлежит.

Преобразование имён обеспечивает классам возможность определить "частные" атрибуты, не беспокоясь о том, что производные классы могут переопределить их, а также не дают к ним доступа коду, находящемуся за пределами класса. Заметьте, что правила преобразования разработаны в основном для того, чтобы избежать случайного вмешательства. Иногда доступ к частным атрибутам необходим, например, для отладчиков — это одна из причин, почему оставлена лазейка.

Если Вы из класса вызываете код с помощью exec, execfile, eval() или evalfile(), то внутри этого кода класс не будет считаться текущим: ситуация аналогична использованию инструкции global — действие ограничивается единовременно байт-компилированным кодом. Это ограничение распространяется и на getattr(), setattr() и delattr(), а также на прямое использование __dict__.

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Семь раз отмерь, один раз отрежь. И не перепутай!

Похожие инструкции