次のコードを適切にインデントしようとしています:
RULES_LIST = [
('Name1', 1, 'Long string upto 40 chars'),
('Name2', 2, 'Long string upto 40 chars'),
('Name3', 3, 'Long string upto 40 chars'),
('Name4', 4, 'Long string upto 40 chars'),
('Name5', 5, 'Long string upto 40 chars'),
('Name6', 6, 'Long string upto 40 chars'),
('Name7', 7, 'Long string upto 40 chars'),
('Name8', 8, 'Long string upto 40 chars')
]
Pylintが不満を言うWrong hanging indentation.
上記のコードの場合、PEP8は文句を言うE121: under-indented for hanging indent
。
Pylintの可能な修正は、それを次のように変更することです。
RULES_LIST = [\
('Name1', 1, 'Long string upto 40 chars'),
...
('Name8', 8, 'Long string upto 40 chars')]
しかし、PEP8は文句を言うE121 and E502
PEP8:1.5.7(デフォルト構成)
Pylint:1.3.0(デフォルト構成)
Python:2.7.5(OSX 10.9.3で実行)
リストは長くなる可能性があります。誰かがこれに適切なインデントを提案してくれますか?
4つのスペースの代わりにタブを使用しています。
タブの代わりに4つのスペースを使用する場合、これら3つの可能性は正しいです。
RULES_LIST = [('Name1', 1, 'Long string upto 40 chars'),
('Name2', 2, 'Long string upto 40 chars'),
('Name3', 3, 'Long string upto 40 chars'),
('Name4', 4, 'Long string upto 40 chars'),
('Name5', 5, 'Long string upto 40 chars'),
('Name6', 6, 'Long string upto 40 chars'),
('Name7', 7, 'Long string upto 40 chars'),
('Name8', 8, 'Long string upto 40 chars')]
RULES_LIST = [
('Name1', 1, 'Long string upto 40 chars'),
('Name2', 2, 'Long string upto 40 chars'),
('Name3', 3, 'Long string upto 40 chars'),
('Name4', 4, 'Long string upto 40 chars'),
('Name5', 5, 'Long string upto 40 chars'),
('Name6', 6, 'Long string upto 40 chars'),
('Name7', 7, 'Long string upto 40 chars'),
('Name8', 8, 'Long string upto 40 chars')]
RULES_LIST = [
('Name1', 1, 'Long string upto 40 chars'),
('Name2', 2, 'Long string upto 40 chars'),
('Name3', 3, 'Long string upto 40 chars'),
('Name4', 4, 'Long string upto 40 chars'),
('Name5', 5, 'Long string upto 40 chars'),
('Name6', 6, 'Long string upto 40 chars'),
('Name7', 7, 'Long string upto 40 chars'),
('Name8', 8, 'Long string upto 40 chars')
]
引き続きタブを使用する場合は、.pylintrcファイルの次の設定を変更できます。
indent-string='\t'
indent-after-paren=1
最初のものだけを変更すると、pylintはインデントに4つのタブが使用されることを期待します。