Python float()函数
在 Python 中,float()
是一个内置函数,用于将字符串、整数或其他数字类型转换为浮点数类型。
float()函数语法
float(x)
其中:
x
是要转换为浮点数的对象,可以是一个字符串、整数、浮点数或其他数字类型。
如果参数是字符串,则它必须是包含十进制数字的字符串,字符串前面可以有符号,之前也可以有空格;
float()函数示例
例如,假设我们有一个字符串表示一个浮点数,我们想要将它转换为浮点数类型。我们可以使用float()
函数来实现:
str_num = "3.14"
float_num = float(str_num)
print(float_num) # 输出 3.14
在这个例子中,我们定义了一个字符串str_num
,它表示一个浮点数。然后,我们使用float()
函数将该字符串转换为浮点数类型,并将其存储在变量float_num
中。最后,我们使用print()
函数输出变量float_num
的值。
除了将字符串转换为浮点数类型之外,float()
函数还可以将其他数字类型转换为浮点数类型,如下所示:
# 将整数转换为浮点数
int_num = 42
float_num = float(int_num)
print(float_num) # 输出 42.0
# 将其他数字类型转换为浮点数
complex_num = 1 + 2j
float_num = float(complex_num)
print(float_num) # 抛出TypeError异常,因为复数不能转换为浮点数类型
在这个例子中,我们将一个整数和一个复数分别转换为浮点数类型。由于整数可以精确地表示为浮点数,因此转换成功;而由于复数不能精确地表示为浮点数,因此转换失败,会抛出TypeError
异常。
无穷大
参数也可以是正负无穷大的字符串;例如,inf
、Inf
、INFINITY
、iNfINity
都可以表示正无穷大。
float('-Infinity') #负无穷大
__float__()
如果参数是一个对象,float(x)
会调用x.__float__()
,如果x
未定义__float__()
,则调用__index__()
:
class c1:
def __float__(self):
return 0.01
class c2:
def __index__(self):
return 0
x1 = c1()
x2 = c2()
print(float(x1),float(x2)) #输出 0.01 0.0