isinstance()
次の場合に True を返す理由を説明してもらえますか? コードを書くとき、私は False を期待していました。
print isinstance(True, (float, int))
True
私の推測では、Python の内部サブクラス化は、float か int かに関係なく、ゼロと 1 として、両方ともブール値として使用されたときに評価されますが、正確な理由はわかりません。
このような状況を解決するための最もpythonicな方法は何でしょうか? 私は使用できますtype()
が、ほとんどの場合、これはPythonicではないと見なされます。