== と is の違い
次のコードを実行したときの出力として、正しいものを1つ選べ。
print(0 == False, 0 is False, [] == False)
- A
True True True - B
True False False - C
False False False - D
True False True
正解と解説を見る
正解:B
== は値の比較、is は同一のオブジェクトかの比較。真偽値との比較は if x: と書き、== True は避ける(PEP 8)。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `print(0 == False, 0 is False, [] == False)` | — |
| 結果 | 実際の出力 | True False False |
- A
誤り。
isは同じオブジェクトかどうかを調べる。 - B
正しい。
0 == Falseは真だが、別のオブジェクトなのでisは偽。空のリストはFalseと等しくない(偽として扱われるだけ)。 - C
誤り。
0 == Falseは真。 - D
誤り。
[] == Falseは偽。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。