Pode bin () ser sobrecarregado como oct () e hex () no Python 2.6?
No Python 2.6 (e anterior) ohex()
eoct()
funções embutidas podem ser sobrecarregadas em uma classe definindo__hex__
e__oct__
funções especiais. No entanto, não existe__bin__
função especial para sobrecarregar o comportamento do novo Python 2.6bin()
função embutida.
Eu quero saber se existe alguma maneira de sobrecarregar de forma flexívelbin()
, e se não, eu estava me perguntando por que a interface inconsistente?
Eu sei que o__index__
função especial pode ser usada, mas isso não é flexível, pois só pode retornar um inteiro. Meu caso de uso particular é dobitstring módulo, onde os bits zero iniciais são considerados 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>
Eu suspeito que não há como conseguir isso, mas achei que não faria mal perguntar!