LoginSignup
2
0

More than 3 years have passed since last update.

製薬企業研究者がPythonのコーディング規約についてまとめてみた

Posted at

はじめに

ここでは、Pythonのコーディング規約について解説します。

PEP8で定められたコーディング規約

Pythonでは、PEP8というコーディング規約が定められています。
PEP8で定められている概要について以下に示します。

import文

import文では、import os, sysなどとせず以下のように複数行に分けるようにします。
また、標準ライブラリ、サードパーティ製ライブラリ、ローカルのモジュール等は区別できるよう1行の空白行を入れるようにします。

import os
import sys

from django.utils import timezone

from my_app.models import User

文中の空白文字

a = 1
b = a + 2
list_nums = [a, b]
dict_nums = {'a': a, 'b': b}

=の前後には半角スペースを入れ、リストや辞書などの,の後にも半角スペースを入れます。
また、辞書の:の後にも半角スペースを入れます。

インデント

if文やfor文、関数やクラス定義の際には、:の後の行は半角スペース4つ(およびその倍数)分だけインデントして書き始めます。

if True:
    print("It's true.")

空白行

トップレベルの関数やクラス定義の前には、2行空けるようにします。
クラス内のメソッドの場合は1行空けます。

def my_func():
    return 'my_func'


class MyClass():
    name = my_class

    def print_name(self):
        return self.name

1行の文字数

1行の文字数は基本的に79文字以下にします。
docstringの場合は72文字以下にします。

Flake8を用いたチェック

ソースコードがPEP8に従っているかチェックするツールとして、flake8があります。
以下のコマンドで実行することができます。

$ flake8 ファイル名.py

実行すると、ソースコードのどの部分がどのようなコーディング規約に合っていないかを表示してくれます。

まとめ

ここでは、Pythonのコーディング規約について解説しました。
Pythonは可読性を重視する言語ですので、他の人が読んでも分かりやすいコードを書くのに不可欠です。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0