Mon projet actuel nécessite une utilisation intensive des champs de bits. J'ai trouvé un recipe for bit a field class simple et fonctionnel, mais il manquait quelques fonctionnalités dont j'avais besoin, alors j'ai décidé de l'étendre. Je dois juste mettre en application __str__
et __repr__
et je veux m'assurer que je suis la convention.Utilisation correcte de __str__ et __repr__ par Python
__str__
est censé être informel et concice, donc je l'ai fait revenir la valeur décimale du champ de bits (c.-à-str(bit field 11)
serait "3"
.
__repr__
est censé être une représentation officielle de l'objet, donc je « ai fait revenir la chaîne de bits réelle (c.-à-repr(bit field 11)
serait "11"
).
à votre avis serait cette mise en œuvre des conventions pour répondre aux str
et repr
?
En outre, j'ai utilisé la fonction bin()
pour obtenir la chaîne de bits de la valeur stockée dans la classe. Ce n'est pas compatible avec Python < 2.6, existe-t-il une méthode alternative?
Cheers,
Pete
Des modules de champ de bits sont disponibles, tels que bitstring, bitarray et bitvector (vérifiez sur PyPi). Cela vaut la peine de les vérifier si vous ne voulez pas réinventer la roue. –
Je sais que je suis en train de réinventer la roue ici, mais je fais ce projet pour le plaisir et c'est d'une certaine manière insatisfaisant d'utiliser du code quelqu'un d'autre est écrit dans ce contexte (idiot je sais!). – Peter