Страницы

Поиск по вопросам

четверг, 2 мая 2019 г.

Знаки подчёркивания в переменных и методах

Я работаю с python и javascript, и часто вижу в чужом коде переменные, функции или методы, которые начинаются с нижнего подчёркивания или обёрнуты в одно или два нижних подчёркивания. По какому принципу разработчики оборачивают некоторые методы, а некоторые оставляют без подчёркиваний, мне непонятно. Есть какие-то негласные правила такого оформления или я плохо читаю документацию?


Ответ

В питоне:
Если переменная начинается с одного подчёркивания (_name), то это переменная, предназначенная для использования только внутри объекта, внутри которого она объявлена. Её всё равно можно вызвать извне, написав object._name
Одинарное подчёркивание - это просто указание на то, что переменная относится к внутренней механике объекта и лучше её не трогать без лишней необходимости.
Если переменная начинается с двойного подчёркивания, но не имеет подчёркиваний в конце (__name), то эту переменную вы уже не сможете вызвать извне обычным способом object.__name
Впрочем, с помощью особого синтаксиса даже к ней можно подобраться извне, но делать это крайне не рекомендуется - уж если программист решил защитить переменную двойным подчёркиванием, то, наверное, у него были причины это сделать.
Имена, "обёрнутые" в двойные подчёркивания - это так называемые "магические" или "волшебные" методы. С их помощью реализуются некоторые специальные механики поведения объектов.

Комментариев нет:

Отправить комментарий