Backport встроенной функции bin () для Python 2.4 - PullRequest
2 голосов
/ 01 ноября 2010

Я написал программу, которая использует встроенную функцию bin (), но эта функция является новой в Python версии 2.6, и я хотел бы запустить это приложение также в версиях 2.4 и 2.5 Python.

Есть ли какой-то backportбен () для 2,4?

1 Ответ

6 голосов
/ 01 ноября 2010

Вы можете попробовать эту версию (кредит переходит к первоначальному автору):

def bin(x):
    """
    bin(number) -> string

    Stringifies an int or long in base 2.
    """
    if x < 0: 
        return '-' + bin(-x)
    out = []
    if x == 0: 
        out.append('0')
    while x > 0:
        out.append('01'[x & 1])
        x >>= 1
        pass
    try: 
        return '0b' + ''.join(reversed(out))
    except NameError, ne2: 
        out.reverse()
    return '0b' + ''.join(out)
...