Atomのパッケージpython-indentが便利

PEP8スタイルガイドを守るために 1行の長さは最大79文字に収める 以前、命名規則を紹介したPEP8。

参考記事: Python PEP8スタイルガイドの命名規則

そのPEP8に、1行の長さは最大79文字に収める、というガイドラインがあります。

#Maximum Line Length
#Limit all lines to a maximum of 79 characters.
#PEP 8 -- Style Guide for Python Code | Python.org

改行するときは、うまいことインデントする

1行が長くなってしまう場合は文の途中で改行することになるが、その際のインデントの仕方もPEP8に書いてあります。 例えばこんな感じ。

#PEP 8 -- Style Guide for Python Code | Python.org

# Aligned with opening delimiter.
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

 # More indentation included to distinguish this from the rest.
 def long_function_name(
         var_one, var_two, var_three,
         var_four):
     print(var_one)

このガイドラインに従って、いちいちSPACEとかTABで位置を合わせるのは非常に面倒だった。 python-indentが自動でインデントしてくれる そんな面倒を解決してくれるのがAtomのパッケージpython-indent。自動でPEP8に準拠したインデントをしてくれる。

#Atom with easy PEP8 indentation...No more space bar mashing!
#python-indent
# var_two,のあとで改行したい場合…
foo = long_function_name(var_one, var_two, var_three, var_four)

# 普通に改行するとこうなってPEP8に怒られる
foo = long_function_name(var_one, var_two,
var_three, var_four)

# python-indentをインストールするとこうなる
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

他のエディタにも同じようなのはあるのかな?

Last Updated: 6/26/2019, 10:34:03 PM