Перенос вызова конструктора на следующую строку

Создаю 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)
→ Ссылка