Подтвердить что ты не робот

Python PEP8 печать завернутых строк без отступа

Вероятно, для этого есть простой ответ, просто не уверен, как издеваться над моими поисками.

Я придерживаюсь PEP8 в моем коде на Python, и сейчас я использую OptionParser для script, который я пишу. Чтобы строки не превышали 80, я использую обратную косую черту, когда это необходимо.

Например:

if __name__=='__main__':
    usage = '%prog [options]\nWithout any options, will display 10 random \
    users of each type.'
    parser = OptionParser(usage)

Этот отступ после обратного слэша приводит к:

~$ ./er_usersearch -h
Usage: er_usersearch [options]
Without any options, will display 10 random     users of each type.

Этот пробел после "случайных" ошибок меня. Я мог бы сделать:

 if __name__=='__main__':
    usage = '%prog [options]\nWithout any options, will display 10 random \
 users of each type.'
    parser = OptionParser(usage)

Но это меня так ужасно. Это кажется глупым:

 if __name__=='__main__':
    usage = ''.join(['%prog [options]\nWithout any options, will display',
                     ' 10 random users of each type.'])
    parser = OptionParser(usage)

Должен быть лучший способ?

4b9b3361

Ответ 2

Это работает:

if __name__=='__main__':
    usage = ('%prog [options]\nWithout any options, will display 10 random '
    'users of each type.')
    parser = OptionParser(usage)

Хотя я бы описал это следующим образом:

if __name__=='__main__':
    usage = ('%prog [options]\n'
             'Without any options, will display 10 random users '
             'of each type.')
    parser = OptionParser(usage)

(Итак, я начинаю новую строку, когда в строке есть \n, а также когда мне нужно сложить конец исходного кода.)

Ответ 3

попробуйте следующее:

if __name__=='__main__':
    usage = '%prog [options]\nWithout any options, will display 10 random ' \
    'users of each type.'
    parser = OptionParser(usage)