> вдруг вас отвлекли на другую задачу и вы забыли дописать return proxy_ping()То есть случай, когда функция реализована почти полностью, за исключением последней строки, мы не рассматриваем, поскольку он не ложится ровно в концепцию "пихон все проверит, убедится, что все написано". Да?
> случайно удалили руками при выделении, или авто заменой
То есть неосторожная автозамена удалит только те места, где в функции ровно один стейтмент, состоящий из ретурна, да? А все остальное она оставит без изменений?
Приведи более реалистичный сценарий уже. pass — это синтаксический костыль, вызванный решением избавиться от фигурных скобок всеми правдами и неправдами. Это решение изначально ставило целью "упростить язык", но на деле сделало его сложнее.
Непоследовательность пихона очевидна. Вот как выглядит объявление функции, принимающей 1 аргумент: def func(first_arg). А вот не принимающий ни одного: def func(). Здесь нет никаких def func(+++no args and i mean it+++). А вот пустой список стейтментов организовать уже не выйдет, придется "явно указывать, что задумана функция с пустым телом". Непоследовательность.
Ну а в других языках скобки применяются последовательно: {} — пустой блок кода, [] — пустой массив, () — пустой список аргументов, "" — пустая строка. Экстраполируй свои аргументы "автозамена" и "отвлекли" также и на эти моменты и убедись в их несостоятельности. Почему пихон не ругается, что строка пустая? Вдруг программиста отвлекли? Вдруг автозамена была неосторожной? Пусть он пишет ::emptystring:: вместо "".