【python】and と & の処理の違い

IT
スポンサーリンク

pythonで条件結合するときのandと&での処理が

微妙に違うことがわかったので検証。

 

 

コード

def check():
    print("check")
    return False


print("andを使った場合")
if check() and check():
    pass

print("&を使った場合")
if check() & check():
    pass

 

例えば上記のようなコードを実行すると、

出力は以下のようになる。

andを使った場合----------------------
check
&を使った場合----------------------
check
check

 

andの場合は短絡評価(falseになった時点で処理終了)

&の場合は完全評価(全部を検証して判断)

 

 

ブログランキング・にほんブログ村へ
にほんブログ村


人気ブログランキング

コメント

タイトルとURLをコピーしました