Какое это соглашение?
class IndexedText(object):
def __init__(self, stemmer, text):
self._text = text
self._stemmer = stemmer
self._index = nltk.Index((self._stem(word), i) for (i, word) in enumerate(text))
Какое это соглашение?
class IndexedText(object):
def __init__(self, stemmer, text):
self._text = text
self._stemmer = stemmer
self._index = nltk.Index((self._stem(word), i) for (i, word) in enumerate(text))
_
сигнализирует, что это частные члены. Это никак не связано с языком, так как программисты Python - это " согласные взрослые.
Согласно PEP 8:
Кроме того, следующие специальные формы с использованием ведущих или конечных признаются знаки подчеркивания (их обычно можно комбинировать с любым случаем конвенции):
- _single_leading_underscore: слабый индикатор "внутреннего использования". Например. "от М import *" не импортирует объекты, имя которых начинается с подчеркивания.
На самом деле это не относится к использованию одного подчеркивания в члене класса, но они, как правило, используются для обозначения "внутреннего использования". Для более сильной версии одного и того же, используйте два ведущих символа подчеркивания (например, self.__foo
). Python сделает более сильную попытку предотвратить случайное перезаписи подклассов, но определенный код может, конечно, сделайте это.
Это подразумевает только внутреннее использование (аналогично частному на других языках), но не ограничено, как и другие языки.
Это соглашение, согласно которому клиенты класса/объекта должны избегать использования этих атрибутов, если это возможно, так как они предназначены для внутреннего использования.
Это просто означает, что эти атрибуты предназначены только для внутреннего использования и, если возможно, не трогают их.
Предположим, вы редактируете какой-то существующий код, и перед ними видны переменные с подчеркиванием. это означает, что вы не должны редактировать их. Просто предупреждение.
так
self.name = a
self._name =a
self.__name=a
все те же