PEP8に準拠したPythonアサートステートメントをフォーマットするにはどうすればいいですか?質問する

PEP8に準拠したPythonアサートステートメントをフォーマットするにはどうすればいいですか?質問する

PEP8 に準拠する長い assert ステートメントをどのようにフォーマットしますか? 私の例の不自然な性質は無視してください。

def afunc(some_param_name):
    assert isinstance(some_param_name, SomeClassName), 'some_param_name must be an instance of SomeClassName, silly goose!'

これは組み込み関数ではなくキーワードであるため、assert ステートメントの動作が変わるため、括弧で囲むことはできません。

ベストアンサー1

PEP8はあくまでガイドラインであり、ルールがすべき壊れる

しかし、最も重要なのは、一貫性を欠くべきタイミングを知ることです。スタイル ガイドが適用されない場合もあります。

それを念頭に置いて、私はおそらくこれを古いスタイルの行継続で記述するでしょう:

def afunc(some_param_name):
    assert isinstance(some_param_name, SomeClassName), \ 
           'some_param_name must be an instance of SomeClassName, silly goose!'

もしそれがあなた(またはあなたのリンター)にとって納得のいくものでないなら、いつでも次のことを実行できます。

def afunc(some_param_name):
    assert isinstance(some_param_name, SomeClassName), ( 
           'some_param_name must be an instance of SomeClassName, silly goose!')

あるいは:

def afunc(some_param_name):
    assert isinstance(some_param_name, SomeClassName), ( 
           'some_param_name must be an instance of SomeClassName, '
           'silly goose!')

おすすめ記事