Можно ли включить значение константы в строку документации? - PullRequest
0 голосов
/ 25 октября 2019

Я хотел бы сделать это:

FOO_CONSTANT = 1

def foo():
  """asdf """ + str(FOO_CONSTANT)

print(foo.__doc__)

Который должен напечатать:

asdf 1

Но вместо этого он печатает

None

Я могу получить ожидаемыйвывод с

FOO_CONSTANT = 1

def foo():
  """asdf """

foo.__doc__ += str(FOO_CONSTANT)
print(foo.__doc__)

, но распространение строки документа по коду кажется ужасным.

Возможно ли включить значение константы в строку документа?

PS : я нашел это , которое имеет отношение к удаленному. Попытка такого подхода также не приводит к созданию правильной строки документа, и обратите внимание, что речь идет о создании динамической строки документа, в то время как моя FOO_CONSTANT не должна меняться. Я просто хочу избежать повторения. Имя FOO_CONSTANT не имеет смысла для читателя строки документа, но значение имеет значение, и оно появляется в нескольких строках документа, где я не хочу его повторять.

1 Ответ

4 голосов
/ 25 октября 2019

Я нашел этот вопрос интересным и решил разобраться в нем, но сам не смог придумать ответ, не распространяющий строку документации, которую вы хотите избежать. (*)

Но во время изучения этой проблемы я нашел уже отвеченные вопросы, которые, я надеюсь, должны помочь вам с решением:

  1. Как поместить переменную в строку документации Python
  2. python - как включить переменную в строку документа?

(*) РЕДАКТИРОВАТЬ:

Примерно такгде вы, по крайней мере, можете показать в строке документации, что отсутствует значение.

FOO_CONSTANT = 1

def foo():
  """docstring with {0} or {1} replacements."""

foo.__doc__ = foo.__doc__.format(1, 2)    
print(foo.__doc__)   

> "docstring with 1 or 2 replacements". 
...