本文目录
英文文档
float()
小结
英文文档
lass float([x])
Return a floating point number constructed from a number or string x.
float()
1、函数功能将一个数值或者字符转换成浮点型数值。
>>> float(1) 1.0 >>> float('1') 1.0
2、不提供参数的时候,返回0.0。
>>> float() 0.0
3、字符串必须能正确转换成浮点型数值的,否则报错。
>>> float('3.14.15926') Traceback (most recent call last): File "", line 1, in float('3.14.15926') ValueError: could not convert string to float: '3.14.15926'
4、字符串中允许出现“+”、“-”两个符号,两个符号和数字之间不能出现空格,但是符号前面和数字后面允许出现空格。
>>> float('+3.14') #带正号 3.14 >>> float('-3.14') #带负号 -3.14 >>> float(' -3.14 ') #正负号前、数字后可以有空格 -3.14 >>> float('- 3.14') #正负号与数字间不可以有空格 Traceback (most recent call last): File "", line 1, in float('- 3.14') #正负号与数字间不可以有空格 ValueError: could not convert string to float: '- 3.14'
5、有几个特殊的字符串能正确转换,”Infinity”或者“inf”(不区分大小写),能正确转换,表示无穷大,可以和“+”、“-”一起使用;“nan”也能正确转换,表示没有值。
>>> float('Infinity') inf >>> float('inf') inf >>> float('inFinIty') #不区分大小写 inf >>> float('+inFinIty') #正无穷 inf >>> float('-inFinIty') #负无穷 -inf >>> float('nan') #没有值 nan
6、定义的对象如果要被float函数正确转换成浮点数,需要定义__float__函数。
>>> class X: def __init__(self,score): self.score = score >>> x = X(9.9) >>> float(x) #不能转换 Traceback (most recent call last): File "", line 1, in float(x) #不能转换 TypeError: float() argument must be a string or a number, not 'X' >>> class X: #重新定义类,加入__float__方法 def __init__(self,score): self.score = score def __float__(self): return self.score >>> x = X(9.9) >>> float(x) #可以转换 9.9 小结
希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。
欢迎关注微信公众号,谢谢大家支持:AiryData。
转载请注明:数据之美 Python3.6内置函数(22)——float()
喜欢 ( 0) or 分享 (0)