我目前的项目需要广泛使用位字段.我找到了一个简单的,功能性的配方,用于一个字段类,但它缺少我需要的一些功能,所以我决定扩展它.我刚刚实施__str__,__repr__我想确保我遵循惯例.
__str__应该是非正式和简洁的,所以我让它返回位字段的十进制值(str(bit field 11) 即将是"3".
__repr__应该是对象的官方表示,所以我让它返回实际的位串(repr(bit field 11)即将是"11").
在您看来,这个实现是否符合str和repr?
另外,我已经使用该bin()函数来获取存储在类中的值的位串.这与Python <2.6不兼容,有替代方法吗?
干杯,
皮特
我在字符串中有一个十六进制值
h = '00112233aabbccddee'
Run Code Online (Sandbox Code Playgroud)
我知道我可以将其转换为二进制:
h = bin(int(h, 16))[2:]
Run Code Online (Sandbox Code Playgroud)
然而,这失去了领先的0.反正有没有失去0的转换呢?或者最好的方法是在转换之前计算前导0的数量,然后再添加它.