Как преобразовать строку, представляющую двоичную дробь, в число в Python

Давайте предположим, что у нас есть строка, представляющая двоичную дробь, такую как:

".1"

Как десятичное число это 0,5. Существует ли в Python стандартный способ перехода от таких строк к числовому типу (не важно, является ли он двоичным или десятичным).

Для целого числа решение является простым:

int("101", 2)
>>>5

int () принимает необязательный второй аргумент для предоставления базы, а float () - нет.

Я ищу что-то функционально эквивалентное (я думаю) этому:

def frac_bin_str_to_float(num):
    """Assuming num to be a string representing
    the fractional part of a binary number with
    no integer part, return num as a float."""
    result = 0
    ex = 2.0
    for c in num:
        if c == '1':
            result += 1/ex 
        ex *= 2
    return result

I думать это делает то, что я хочу, хотя я вполне мог пропустить некоторые крайние случаи.

Есть ли встроенный или стандартный метод сделать это в Python?

Ответы на вопрос(2)

Ваш ответ на вопрос