2014-12-05 11 views
0

Я немного смущен относительно того, как делать частные переменные в Python. Я знаю, что это связано с двойным подчеркиванием, но откуда вы знаете, должно ли оно быть до имени переменной или после?Частные переменные - Python

Так что, когда это было бы:

self.__name 

По сравнению с:

__self.name 

Спасибо.

ответ

1

Предполагая, что вы имеете в виду приватную собственность класса, вы должны использовать self.__name для доступа к приватному __name. Использование __self как переменной self не привело бы к тому, что свойства были бы частными.

У вас может быть приватная переменная __self, например, приватная переменная модуля (на самом деле требуется только одно подчеркивание), но я предполагаю, что это не то, что вы имеете в виду.

Стоит также отметить, что a private variable is only semi-private.

+0

Хорошо, я думаю, у вас может быть частная переменная '__self' технически, но это так неудобно, вероятно, для нее есть лучшие имена. – Dair

+0

Хорошо. Спасибо. – user3495234

1

Он всегда должен быть self.__name, если вы хотите следовать стандартным соглашениям.

self должен всегда оставаться без изменений. Соглашение об именах предназначено для префикса имени с двумя символами подчеркивания.

+0

«Самостоятельное» название технически необязательно. Только по соглашению люди используют его, но это может быть любое допустимое имя переменной (хотя я бы рекомендовал следующее соглашение). –

+0

@ AlexanderO'Mara: Я редактировал стандартные соглашения об именах, тем не менее, я сомневаюсь, что вы когда-нибудь увидите код в реальном мире, который не следует этому соглашению. Аналогично, если бы не был код, который не следовал ему, я был бы очень подозрительным в использовании его. – Dair

Смежные вопросы