Comments 13
Не надо!
Но почему?
функция может вести себя непредсказуемо
А где сама статья? Где описание поведения функции? Где попытка вывести свой чудо-паттерн обработки таких параметров? Как редактировать и пробрасывать аргументы в нижележащие функции? Как пробрасывать документацию от нижележащих функций?
Если уж идея в обсуждении, то давайте начнём с того, почему функция может вести себя непредсказуемо, если её поведение предопределено.
+6
Ага, а ещё картинки в «статье» никаким боком не относятся к тексту
+6
По честному, вообще не рекомендую программировать на чем либо, потому что программы ведут себя непредсказуемо.
+1
Написано же в самом начале:
Автор оригинала: Eden Au
0
Явное лучше, чем неявное. — Дзен Python
С учётом того, что, например, понять отсутствие элементов в итераторе можно только словив исключение, а не явно проверив, есть ли впереди ещё элементы — звучит как неудачная шутка.
+1
не явно проверив, есть ли впереди ещё элементы
Как вы себе это представляете? Итератор — это не обязательно итератор по контейнеру. У него может вообще не быть материализованных «элементов впереди», они только генерятся по запросу.
Он может иметь такую природу, что любое обращение к последующему элементу необратимо меняет состояние, и просто взять и посмотреть на следующий элемент, не совершая шага итерации, — невозможно в принципе.
Вариант с исключением здесь — единственно разумный.
0
Я бы ещё добавил, что когда в определении функции не указаны имена аргументов, то autocomplete редактор кода не сможет ничего подсказать :) так что даже для декораторов удобно прописывать аргументы в явном виде
0
UFO just landed and posted this here
Sign up to leave a comment.
Хватит злоупотреблять *args и **kwargs в Python