Как документировать функции, которые назначены, а не определены? - PullRequest
0 голосов
/ 05 сентября 2018

При использовании функционального программирования в Python, я обнаруживаю, что объявляю функции с присваиванием, например,

where = compose(pluck(0), filter(get(1)), enumerate)

вместо использования def, например,

def where(seq):
    """Return the indices of truthy values in a sequence."""
    return pluck(0, filter(get(1), enumerate(seq))

Первый метод изящен и лаконичен, но в нем нет строки документации, что недопустимо. Второй метод допускает использование строки документа, но он менее элегантен и менее функциональный.

Как лучше всего документировать функции, созданные при назначении в Python?

1 Ответ

0 голосов
/ 05 сентября 2018

Есть средство, с помощью которого вы можете документировать такие функции в Python; однако, это не считается хорошей практикой. Несмотря на то, что def fun не выглядит в функциональном стиле, к сожалению, по крайней мере, на данный момент, это, кажется, лучшая практика. Обходной путь можно увидеть ниже:

where = compose(pluck(0), filter(get(1)), enumerate)
where.__doc__ = """some docstrings here"""
...