pep8
提供: Python入門
スポンサーリンク
pep8 とは、pythonのコードスタイルガイドラインです。また、コードスタイルをチェックするツールです。autopep8は、ソースコードを自動で修正できます。
読み方
- pep8
- ぴーえーぴーえいと
目次
概要
pep8を使用することで、ソースコードのソースコードスタイルをチェックできます。vimでは、編集中のソースコードのコードスタイルをflake8-vimで自動でチェックできます。autopep8は、ソースコードのスタイルを修正できます。
インストール
sudo pip install pep8
ソースコード
以下は、ソースコードガイドラインで、問題のあるコードです。
#! /usr/bin/env python # -*- coding: utf-8 -*- # vim:fenc=utf-8 # # Copyright © 2014 kaoru <kaoru@bsd> def main(): echo 'main' if __name__ == '__main__': main()
実行例
コードスタイルのチェック
$ pep8 main.py main.py:6:1: E302 expected 2 blank lines, found 0
ソースコードも表示する
$ pep8 main.py --show-source main.py:6:1: E302 expected 2 blank lines, found 0 def main(): ^
詳細も表示する
$ pep8 main.py --show-source --show-pep8 main.py:6:1: E302 expected 2 blank lines, found 0 def main(): ^ Separate top-level function and class definitions with two blank lines. Method definitions inside a class are separated by a single blank line. Extra blank lines may be used (sparingly) to separate groups of related functions. Blank lines may be omitted between a bunch of related one-liners (e.g. a set of dummy implementations). Use blank lines in functions, sparingly, to indicate logical sections. Okay: def a():\n pass\n\n\ndef b():\n pass Okay: def a():\n pass\n\n\n# Foo\n# Bar\n\ndef b():\n pass E301: class Foo:\n b = 0\n def bar():\n pass E302: def a():\n pass\n\ndef b(n):\n pass E303: def a():\n pass\n\n\n\ndef b(n):\n pass E303: def a():\n\n\n\n pass E304: @decorator\n\ndef a():\n pass
autopep8で自動でソースコードをpep8に対応する
$ sudo pip install autopep8 $ autopep8 main.py
ソースコードを修正する例です。
$ autopep8 main.py #! /usr/bin/env python # -*- coding: utf-8 -*- # vim:fenc=utf-8 # # Copyright © 2014 kaoru <kaoru@bsd> def main(): print 'main' if __name__ == '__main__': main()
ファイルを上書きして修正する例です。
$ autopep8 -i main.py
関連項目
ツイート
スポンサーリンク