1
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?

"The if expression can be replaced with 'test'"につまづく。

Last updated at Posted at 2025-07-24

対象の読者

python勉強始めたばかりの方。

私は触り始めて随分経ちますが、しょうもないミスなものの最初気づかずに愕然としたので悔しさを忘れないため記事にします。

The if expression can be replaced with 'test'

このlinterエラーはPylintで出てくるエラーです。

下に載せてるドキュメント見ればわかるような話ではあるんですが、丁寧にいきましょう。
今回自分のコードは下記のように書いてました。変数名は簡略化してます。

return True if variable_A == variable_B else False

初学者向けに書いているので、簡単にこの書き方(三項演算子)について説明します。

三項演算子

if 条件:
    variable = (条件がTrueの時の値)
else:
    variable = (条件がFalseの時の値)

ということをしたい時に

variable = (条件がTrueのときの値) if (条件) else (条件がFalseのときの値)

というように一行にまとめることができます。

上の自分のコードではメソッドの返り値として書いた例なので変数として格納してるのではなくてreturnしています。

エラーの原因

話を戻しますが、エラーの原因としてはこの書き方が冗長という話で、そもそも

variable_A == variable_B

の時点で返り値がbooleanなので、それに対応してTrue、Falseを返す必要がないんですね。
なので正しい書き方は下のようになります。

return variable_A == variable_B

まとめ

こういうところ詰め甘いのほんと良くない。

参考

1
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
1
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?