Это вопрос стиля (или предпочтения), поскольку переводчику все равно.Лично я бы постарался не делать последнее утверждение функции, которая возвращает значение на уровне отступа, отличном от базы функции.Остальное в примере 1 затеняет, хотя и немного, где конец функции.
По предпочтению я использую:
return A+1 if (A > B) else A-1
Поскольку он подчиняется как хорошему соглашению о наличии одногооператор return как последний оператор в функции (как уже упоминалось) и хорошая парадигма функционального программирования, позволяющая избежать промежуточных результатов в императивном стиле.
Для более сложных функций я предпочитаю разбивать функцию на несколько подфункций, чтобы избежать преждевременных возвратов, если это возможно.В противном случае я вернусь к использованию императивной переменной стиля под названием rval.Я стараюсь не использовать несколько операторов return, если только функция не тривиальна или оператор return до конца не является результатом ошибки.Возвращение преждевременно подчеркивает тот факт, что вы не можете продолжать.Для сложных функций, которые разветвляются на несколько подфункций, я стараюсь кодировать их как операторы case (например, на основе dict).
В некоторых плакатах упоминается скорость работы.Скорость выполнения для меня вторична, так как, если вам нужна скорость выполнения, Python - не лучший язык для использования.Я использую Python, так как для меня важна эффективность кодирования (т.е. написания кода без ошибок).