update.組み込み機器から送られてくるデータのパーサーを書いていて、各ビットを取り出すときにビット単位演算の二項演算子(&)とブール演算(and)を間違えて使ってハマってしまったので自戒を込めてここにメモしておきます。Windows10、Python3.6.5で確認しています。bit_mask)'0b10'特に例2の場合は結果だけ見ていると気づきにくい何が起きているのかビット単位演算は整数にのみ意味がある処理となっていて、input_valとbit_maskの論理積が実行されます。これは期待している動作ですね。ブール演算ではドキュメントに以下のように説明されています。値を評価し、その結果を返します。andの後にあったbit_maskが評価されて返ってきていたということですね。所感ミスの修正は簡単なのですが、何が起きているか説明しようとするとちゃんとドキュメントを読まないと説明できなかったです。みなさまも既存のコードでこのようなことをやってないか確認してはいかがでしょうか?(ちなみに私はやらかしてました)こちらはブール演算について詳しく解説している記事です。参考にさせていただきました。requestStockLike3kjmatu@kjmatuメーカーにいる人。