11

これにはおそらく簡単な答えがありますが、検索からそれを引き出す方法がわからないだけです。

私は Python コードでPEP8に準拠しており、現在、作成中のスクリプトに OptionParser を使用しています。行が 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)

もっと良い方法があるはずですか?

4

3 に答える 3

28

自動文字列連結+暗黙的な行継続を使用:

long_string = ("Line 1 "
               "Line 2 "
               "Line 3 ")


>>> long_string
'Line 1 Line 2 Line 3 '
于 2009-08-19T20:13:19.010 に答える
3

これは機能します:

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(そのため、文字列に a がある場合や、ソース コードをワード ラップする必要がある場合は、新しい行を開始します。)

于 2009-08-19T20:13:40.977 に答える
1

これを試して:

if __name__=='__main__':
    usage = '%prog [options]\nWithout any options, will display 10 random ' \
    'users of each type.'
    parser = OptionParser(usage)
于 2009-08-19T20:13:04.143 に答える