Внутри функции возврат значения лучше через переменную или сразу через выражение? PEP8

Возник спор по стилю кодирования, по поводу простейшей вещи. Правых нет, но оно и понятно. Хотелось бы узнать, у тех, кто хоршо знает правила. Что PEP8 говорит по этому поводу? Как будет лучше?

# Первый вариант через переменную. Такую переменную можно логировать, в пичарме.
def my_func(x):
    n = x + 2
    return n

# Второй вариант, без лишних переменных. Меньше строк.
def my_func_two(x):
    return x + 2

Ответы (1 шт):

Автор решения: Сергей

PEP8 ничего об этом не говорит, единственное, что можно процитировать: "Код читается намного больше раз, чем пишется".

Ближе к этому случаю PEP20 (он же Дзен Python). Он тоже не дает конкретных рекомендаций, но гласит, в частности (я выбрал подходящее к этому случаю):
"3. Простое лучше сложного."
"8. Особые случаи не настолько особые, чтобы нарушать правила."
"9. При этом практичность важнее безупречности."
"13. Должен существовать один - и, желательно, только один – очевидный способ сделать что-то."

Тогда, исходя из 3, 8 и (отчасти) 13 надо выбрать код 2. Но, исходя из 9 необходимо посмотреть на конкретную задачу и определить, что практически требуется от задачи.

Итого:
Если логирование нужно постоянно, то оставим код 1.
Если оно нужно только на момент отладки, то оставим только на момент отладки и уберем в финальной версии, перейдя к коду 2.

→ Ссылка