0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python初心者】Flake8とBlackの要点まとめ

Last updated at Posted at 2025-06-10

Flake8 と Black について、自分なりに要点を整理しました。

Flake8(静的解析ツール)

Flake8とは?

  • Pythonコードの 静的解析ツール
  • コードのエラーやPEP8違反を 検出(修正はしない)
  • 内部的に以下の3つのツールを統合している:
    • pyflakes(構文エラー・未使用変数など)
    • pycodestyle(スタイル違反チェック)
    • mccabe(複雑度のチェック)

Flake8の導入

pip install flake8

Flake8の使い方(基本)

flake8 script.py

よく使うオプション

オプション 内容
--max-line-length=88 行の長さ制限を88文字に設定
--ignore=E501 特定のエラー(ここでは行が長すぎる)を無視
--exclude=venv 特定のディレクトリを解析対象から除外

プラグイン例(必要に応じて拡張可能)

  • flake8-bugbear:より詳細な品質チェック
  • flake8-docstrings:docstringのルールチェック
  • flake8-import-order:インポート順のチェック

インストール例:

pip install flake8-bugbear

Black(自動フォーマッタ)

Blackとは?

  • コードを自動で整形してPEP8に準拠させるツール
  • 誰が使っても同じスタイルに整形される(一貫性がある)
  • 意見のないフォーマッタ(The Uncompromising Code Formatter)」と呼ばれる

Blackの導入

pip install black

Blackの使い方(基本)

black script.py

よく使うオプション

オプション 内容
--check 整形が必要かだけをチェック(変更はしない)
--diff 変更点の差分を表示
--line-length 88 最大行長を88文字に設定(デフォルト)

Flake8とBlackの違い

項目 Flake8 Black
処理 エラーを検出 コードを整形
修正 しない 自動で行う
行長のデフォルト 79文字 88文字
主な目的 スタイルや構文エラーのチェック コードスタイルの統一

Flake8とBlackは併用について

Flake8でコードのスタイル違反や構文エラーを検出し、Blackでコードを自動整形するという流れで補完的に併用できます
特にチーム開発やレビュー前の整備に便利です。


まとめ

  • Flake8 はエラーを検出するツール、Black は整形するツール
  • どちらも PEP8 に準拠するために使う
  • 「どちらが整形ツールか」「どちらがチェックツールか」などの役割の違いを覚えること
0
0
1

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?