¿Se puede sobrecargar bin () como oct () y hex () en Python 2.6?

En Python 2.6 (y anteriormente) elhex() yoct() Las funciones incorporadas se pueden sobrecargar en una clase definiendo__hex__ y__oct__ funciones especiales. Sin embargo no hay una__bin__ Función especial para sobrecargar el comportamiento de los nuevos Python 2.6.bin() Función incorporada.

Quiero saber si hay alguna forma de sobrecarga flexiblebin(), y si no me preguntaba por qué la interfaz inconsistente?

Yo sé que el__index__ se puede usar una función especial, pero esto no es flexible ya que solo puede devolver un número entero. Mi caso de uso particular es delcadena de bits Módulo, donde los bits de cero iniciales se consideran significativos:

<code>>>> a = BitString(length=12)       # Twelve zero bits
>>> hex(a)
'0x000'
>>> oct(a)
'0o0000'
>>> bin(a)
'0b0' <------ I want it to output '0b000000000000'
</code>

Sospecho que no hay forma de lograr esto, ¡pero pensé que no estaría mal preguntar!

Respuestas a la pregunta(4)

Su respuesta a la pregunta