Docstrings для данных?

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

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

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

20
задан Jacob Marble 8 April 2011 в 02:48
поделиться

3 ответа

К моему знанию не возможно присвоить docstrings элементам данных модуля.

PEP 224 предлагает эту функцию, но PEP был отклонен.

я предлагаю, чтобы Вы зарегистрировали элементы данных модуля в docstring модуля:

# module.py:
"""About the module.

module.data: contains the word "spam"

"""

data = "spam"
14
ответ дан 30 November 2019 в 00:19
поделиться

возможно сделать документацию данных модуля с использованием синтаксис epydoc . Epydoc является одним из наиболее часто используемых инструментов документации для Python.

синтаксис для документирования #: выше переменной строки инициализации, как это:

# module.py:

#: Very important data.
#: Use with caution.
#: @type: C{str}
data = "important data"

Теперь то, когда Вы генерируете свою документацию, data, будет описано как переменная модуля с данным описанием и типом str. Можно опустить @type строка.

10
ответ дан 30 November 2019 в 00:19
поделиться

Как codeape объясняет, не возможно зарегистрировать общие элементы данных.

Однако это возможно к элементам данных документа property:

class Foo:
  def get_foo(self): ...

  def set_foo(self, val): ...

  def del_foo(self): ...

  foo = property(get_foo, set_foo, del_foo, '''Doc string here''')

Это даст docstring эти foo атрибут, очевидно.

10
ответ дан 30 November 2019 в 00:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: