Kann bin () wie oct () und hex () in Python 2.6 überladen werden?

In Python 2.6 (und früher) ist dashex() undoct() Integrierte Funktionen können in einer Klasse durch Definieren überladen werden__hex__ und__oct__ Spezialfunktionen. Es gibt jedoch keine__bin__ spezielle Funktion zum Überladen des Verhaltens von Python 2.6 neubin() eingebaute Funktion.

Ich möchte wissen, ob es eine Möglichkeit gibt, flexibel zu überladenbin(), und wenn nicht, habe ich mich gefragt, warum die inkonsistente Schnittstelle?

Ich weiß, dass die__index__ Es kann eine spezielle Funktion verwendet werden, die jedoch nicht flexibel ist, da sie nur eine Ganzzahl zurückgeben kann. Mein spezieller Anwendungsfall stammt aus dembitstring Modul, in dem führende Null-Bits als signifikant betrachtet werden:

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

Ich vermute, dass es keinen Weg gibt, dies zu erreichen, aber ich dachte, es würde nicht schaden, danach zu fragen!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage