Связанный метод вызывает стиль отступа в Python [дубликат]

На этот вопрос уже есть ответ здесь:

Из чтения PEP-8 я понял, что вы должны помещать закрывающую скобку в ту же строку, что и последний аргумент в вызовах функций:

ShortName.objects.distinct().filter(
    product__photo__stockitem__isnull=False)

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

ShortName.objects.distinct().filter(
    product__photo__stockitem__isnull=False
).values_list('value', flat=True)

А как насчет методов без аргументов? Как записать их в несколько строк без ссылки на промежуточные возвращаемые значения?

ShortName.objects.distinct(
    ).filter().values() # looks ugly

Обновление : есть повторяющийся вопрос Как разорвать строку связанных методов в Python? . В принятом ответе предлагается знакомый по jQuery стиль, когда каждая новая строка начинается с точки. Автор не приводит никаких причин или авторитетных ссылок, поэтому я хотел бы получить подтверждение такого стиля или альтернативы.

94
задан Community 23 May 2017 в 12:26
поделиться