Возвращает число с плавающей запятой, созданное на основе числа или строки.
Примеры:
>> > float ( '+1.23' )
1.23
>> > float ( ' -12345\n' )
- 12345.0
>> > float ( '1e-003' )
0.001
>> > float ( '+1E6' )
1000000.0
>> > float ( '-Infinity' )
- inf
Если аргумент — строка, он должен содержать десятичное число, которому может предшествовать знак, и, возможно, быть заключено в пробел. Необязательный знак может быть '+'или '-'; '+'знак не влияет на возвращаемое значение. Аргумент также может быть строкой, представляющей NaN (не число) или положительную или отрицательную бесконечность. Точнее, входные данные должны соответствовать floatvalue правилу вывода в следующей грамматике после удаления начальных и конечных пробелов:
знак : "+" | "-" бесконечность : "Бесконечность" | "inf" нан : "nan" цифра : <десятичная цифра Unicode, т. е. символы из общей категории Unicode Nd> цифровая часть : цифра ([ "_" ] цифра )* число : [ цифровая часть ] "." цифровая часть | цифровая часть [ "." ] экспонента : ( "e" | "E" ) [ знак ] цифровая часть число с плавающей точкой : число [ экспонента ] абсолютное число с плавающей точкой : число с плавающей точкой | бесконечность | нан значение с плавающей точкой : [ знак ] абсолютное число с плавающей точкой
Регистр не имеет значения, поэтому, например, «inf», «Inf», «INFINITY» и «iNfINity» являются приемлемыми вариантами написания для положительной бесконечности.
В противном случае, если аргумент является целым числом или числом с плавающей точкой, возвращается число с плавающей точкой с тем же значением (в пределах точности чисел с плавающей точкой Python). Если аргумент выходит за пределы диапазона чисел с плавающей точкой Python, OverflowErrorбудет сгенерировано исключение.
Для общего объекта Python x, float(x)делегируется x.__float__(). Если __float__(), то возвращается к __index__().
См. также float.from_number(), который принимает только числовой аргумент.
Если аргумент не указан, 0.0возвращается.
Тип float описан в разделе Числовые типы — int, float, complex .
Изменено в версии 3.6:Разрешается группировка цифр с помощью подчеркивания, как в кодовых литералах.
Изменено в версии 3.7:Параметр теперь является только позиционным.
Изменено в версии 3.8:Возвращается к значению, __index__()если __float__()оно не определено.