стиль собственности Python - PullRequest
       18

стиль собственности Python

1 голос
/ 13 февраля 2012

Раньше я был программистом на Java и сейчас перехожу на Python.В Java все функции являются методами класса, но я не уверен, какова ситуация в Python.Если я определю очередь и захочу узнать ее размер, какой дизайн лучше?

  1. Определить переменную __size и определить размер метода ()

  2. Используйте @property для размера метода, чтобы __size был доступен только для чтения

  3. Просто определите переменную self.size

Мой вопросдействительно сфокусирован на стиле кодирования Python, будь то метод «все» или использование приватных переменных.Желательно ли использовать @property getters & setters для каждой переменной?

Ответы [ 2 ]

3 голосов
/ 13 февраля 2012

Я согласен с ссылкой Элая, так как обычно геттеры и сеттеры являются лишними.* метод, который будет возвращать текущий размер вашей очереди, позволяя вам использовать встроенную функцию len(<obj>) для получения длины.Помимо прочего, это позволит вам легко получить логическое значение, чтобы определить, пуста ли ваша очередь.

2 голосов
/ 13 февраля 2012

Питонский подход - просто иметь атрибут. Если вам позже понадобится дополнительная функциональность этого атрибута, вы всегда можете использовать декоратор @property.

Прочитайте это для более подробной информации: http://eli.thegreenplace.net/2009/02/06/getters-and-setters-in-python/

...