Search
Write a publication
Pull to refresh

Comments 2

кроме «чистого» и «грязного», есть решение стандартное:
docs.python.org/library/functools.html#functools.wraps

Вместо func_name и func_doc лучше использовать __name__ и __doc__, т.к. эти атрибуты работают со встроенными функциями (что в данном примере не важно), и всем своим видом показывают, что атрибуты это специальные (что в данном примере важно).

Функции help() уделено слишком много внимания) Докстринги — сильно гораздо более полезная, чем просто необходимый минимум для функции help. Например, можно вспомнить доктесты и автогенерацию документации с с помощью sphinx или pydoc. Ну и подсказки в IDE.

> (Этот материал — для начинающих пользователей.)
Начинающие в итоге будут пользоваться чем-то сторонним вместо встроенных в стандартную библиотеку средств, думать, что докстринги — какая-то маловажная ерунда для тех, кто пишет только в консоли, и что имя функции нужно узнавать через func_name.

Но это я так, придираюсь, за то, что тему эту подняли: + )
functools.wraps делает то же самое, что моё промежуточное решение — копирует func_*
Sign up to leave a comment.

Articles