LINUX.ORG.RU

PEP8 вызвать много методов

 ,


0

1

А стандарт регламентирует вызов множества методов в в одном выражении?

def my_funct(x: int, yy: MyClass) -> int:
    res: int
    if x > 0:
        res = yy.my_very_hard_and_very_long_name_method_1() \
                .my_very_hard_and_very_very_very_long_name_method_2() \
                .my_methdod_3().my_method_4().my_meth_5()
    else:
        res = 0
    return res

Никак не регламентирует. Так как ты сделал, сойдёт. Только выравнивать я бы не рекомендовал. Но дело твоё.

eternal_sorrow ★★★★★
()

Я бы 3, 4 и 5 написал на разных строках. Да, так больше строк, но зато единообразно.

ls-h ★★★★★
()

Тернарный оператор

return your_shit_here() if x > 0 else 0
Crocodoom ★★★★★
()
res = yy.my_very_hard_and_very_long_name_method_1(
    arg1_method_1,
    arg2_method_1,
).my_very_hard_and_very_very_very_long_name_method_2(
    arg1_method_2,
    arg2_method_2,
).my_methdod_3(
    arg1_method_3,
    arg2_method_3,
).my_method_4(
).my_meth_5()
vvn_black ★★★★★
()

Я обычно использую

res = (
    yy.my_very_hard_and_very_long_name_method_1()
    .my_very_hard_and_very_very_very_long_name_method_2()
    .my_methdod_3()
    .my_method_4()
    .my_meth_5()
)
Aswed ★★★★★
()

black сам поформатирует. Немного было необычно, что программа за меня делает, но потом привык.

AlexKiriukha ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.