Перенос вызова конструктора на следующую строку
Создаю 1 statement-ом класс X и его инстанс x, однако строка длинная, поэтому переношу с помощью \:
x = create_class('X', 'int_field') \
(int_field=42)
Но мне пишет:
PEP 8: E211 whitespace before '('
Никакого whitespace кроме переноса строки на 1-ой строке после \ нет. Как тогда стилистически правильно надо переносить, чтобы не было никаких предупреждений?
Ответы (2 шт):
Автор решения: Xander
→ Ссылка
Вот так:
x = create_class('X', 'int_field')(
int_field=42
)
А использовать \ для переноса строки вообще крайне не рекомендуется. Если после него случайно поставить пробел, то можно получить багу, отлавливать которую придётся долго и мучительно.
Автор решения: jambo
→ Ссылка
В соответствии с этим ответом, буду использовать дополнительные скобки вместо \:
x = (create_class('X', 'int_field')
(int_field=42))
f = (x
+ y
- z)