相关疑难解决方法(0)

Python正确使用__str__和__repr__

我目前的项目需要广泛使用位字段.我找到了一个简单的,功能性的配方,用于一个字段类,但它缺少我需要的一些功能,所以我决定扩展它.我刚刚实施__str__,__repr__我想确保我遵循惯例.

__str__应该是非正式和简洁的,所以我让它返回位字段的十进制值(str(bit field 11) 即将是"3".

__repr__应该是对象的官方表示,所以我让它返回实际的位串(repr(bit field 11)即将是"11").

在您看来,这个实现是否符合strrepr

另外,我已经使用该bin()函数来获取存储在类中的值的位串.这与Python <2.6不兼容,有替代方法吗?

干杯,

皮特

python bit-manipulation conventions representation

10
推荐指数
1
解决办法
2855
查看次数

从十六进制转换为二进制而不会丢失前导0的python

我在字符串中有一个十六进制值

h = '00112233aabbccddee'
Run Code Online (Sandbox Code Playgroud)

我知道我可以将其转换为二进制:

h = bin(int(h, 16))[2:]
Run Code Online (Sandbox Code Playgroud)

然而,这失去了领先的0.反正有没有失去0的转换呢?或者最好的方法是在转换之前计算前导0的数量,然后再添加它.

python binary hex

8
推荐指数
2
解决办法
3万
查看次数