Возвращает число с плавающей запятой, созданное на основе числа или строки.

Примеры:

>> >  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 xfloat(x)делегируется x.__float__(). Если __float__(), то возвращается к __index__().

См. также float.from_number(), который принимает только числовой аргумент.

Если аргумент не указан, 0.0возвращается.

Тип float описан в разделе Числовые типы — int, float, complex .

Изменено в версии 3.6:Разрешается группировка цифр с помощью подчеркивания, как в кодовых литералах.

Изменено в версии 3.7:Параметр теперь является только позиционным.

Изменено в версии 3.8:Возвращается к значению, __index__()если __float__()оно не определено.