在 Python 2.6(及更早版本)中,可以通过定义特殊函数在类中重载内置函数hex()
和oct()
内置函数。然而,没有一个特殊的函数可以重载 Python 2.6 的新内置函数的行为。__hex__
__oct__
__bin__
bin()
我想知道是否有任何灵活重载的方法bin()
,如果没有我想知道为什么接口不一致?
我知道__index__
可以使用特殊函数,但这并不灵活,因为它只能返回一个整数。我的特定用例来自bitstring模块,其中前导零位被认为是重要的:
>>> a = BitString(length=12) # Twelve zero bits
>>> hex(a)
'0x000'
>>> oct(a)
'0o0000'
>>> bin(a)
'0b0' <------ I want it to output '0b000000000000'
我怀疑没有办法实现这一点,但我认为问它不会有什么坏处!