1. ホーム
  2. python

[解決済み] ブラックフォーマー - 特定の複数行コードを無視する

2023-02-18 08:38:12

質問

による特定の複数行のコードを無視したい。 black python フォーマッタを使用しています。特に、これは np.array や行列の構築など、フォーマットされると醜くなるようなものに使用されます。以下はその例である。

np.array(
    [
        [1, 0, 0, 0],
        [0, -1, 0, 0],
        [0, 0, 1, 0],
        [0, 0, 0, -1],
    ]
)
# Will be formatted to
np.array([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, -1]])

私が見つけたのは これ の問題を black githubにあるのですが、これはインラインコマンドでのみ動作し、私がここで持っているものではありません。

複数行のコードでこれを実現するために何かできることはありますか?

どのように解決するのですか?

この場合 #fmt: on/off を使うことができます。あなたの場合、次のようになります。

# fmt: off
np.array(
    [
        [1, 0, 0, 0],
        [0, -1, 0, 0],
        [0, 0, 1, 0],
        [0, 0, 0, -1],
    ]
)
# fmt: on

# fmt: off で書式が有効になるまで、続く全ての行の書式を無効にします。 # fmt: on