Mugichoko's blog

Mugichoko’s blog

プログラミングを中心としたメモ書き.

PythonスクリプトをBlackで自動フォーマット

Blackというものを使えば,Pythonスクリプト自動で綺麗にフォーマット(整理)してくれるらしいのでやってみた.

github.com

インストール

以下のコマンドでcondaにインストールする.

conda install -c conda-forge black

実行

以下のexample.pyがあるとして...

# example.py
import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
employees = {"Takashi": 25, "Ami": 21, "Kenji": 23, "Gonza": 35, "Fumi": 45, "Tadashi": 60, "Maki": 37}

def say_something(from_whom, to_whom = "World", message = "Hello"):
    print(f"{message} from {from_whom} to {to_whom}")

say_something("Mugichoko", "The Small World", "Hi")

以下を実行すると...

> black example.py

以下のメッセージが出てきて...

All done! ✨ 🍰 ✨
1 file left unchanged.

こうなる.

# example.py
import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
employees = {
    "Takashi": 25,
    "Ami": 21,
    "Kenji": 23,
    "Gonza": 35,
    "Fumi": 45,
    "Tadashi": 60,
    "Maki": 37,
}


def say_something(from_whom, to_whom="World", message="Hello"):
    print(f"{message} from {from_whom} to {to_whom}")


say_something("Mugichoko", "The Small World", "Hi")

気が付いたこととしては,

  • 改行の行数が変化(関数の前後に2行入る)
  • Dictionary等,1行に納まりきらないものは自動改行
  • 最終行に1行追加
  • =前後が詰められた

Gitでコミットするときに自動的にblackを実行する方法もあるらしいが,今は必要ないので今回はここまでにしておく.