Предположим, что в Python 3.x(и я думаю, что в Python 2.6 и в Python 2.7 тоже) следующие функции:
>>> def dbl_a(p): return p*2
>>> def dbl_b(p): return(p*2)
>>> def dbl_c(p): return (p*2)
Если мы запустим их, получим:
>>> dbl_a(42)
84
>>> dbl_b(42)
84
>>> dbl_c(42)
84
Три функции предоставляют одинаковый результат (значение и тип), и они кажутся эквивалентными.
Но какой из них имеет более правильное выражение return
?
Есть ли какой-либо побочный эффект в любом из этих определений?
Те же самые вопросы относятся к следующей ситуации с несколькими возвращаемыми значениями:
>>> def dbl_triple_a(p): return p*2, p*3
>>> def dbl_triple_b(p): return(p*2, p*3)
>>> def dbl_triple_c(p): return (p*2, p*3)
>>> dbl_triple_a(42)
(84, 126)
>>> dbl_triple_b(42)
(84, 126)
>>> dbl_triple_c(42)
(84, 126)
В этом случае каждая функция возвращает кортеж, но мои вопросы остаются неизменными.