私の現在のプロジェクトでは、ビット フィールドを広範囲に使用する必要があります。ちょっとしたフィールド クラスのシンプルで機能的なレシピを見つけましたが、必要な機能がいくつか欠けていたため、それを拡張することにしました。私は実装する必要があり、慣習に従っていることを確認したいと思います__str__
。__repr__
__str__
非形式的で簡潔なはずなので、ビット フィールドの 10 進数値を返すようにしました (つまりstr(bit field 11)
、"3"
.
__repr__
はオブジェクトの正式な表現であるはずなので、実際のビット文字列を返すようにしました (つまりrepr(bit field 11)
、 になります"11"
)。
str
あなたの意見では、この実装はとの規則を満たしていrepr
ますか?
さらに、bin()
関数を使用して、クラスに格納されている値のビット文字列を取得しました。これは Python < 2.6 と互換性がありません。別の方法はありますか?
乾杯、
ピート