
一直以为float(' 123.45 ')是会报错的,1_23.45也是会报错的。
总结了下float的使用场景,供大家参考。
1. 数字字符串
float('123') #整数 →123.0
float('123.456') #小数 →123.456
float('1.23e4') #科学计数法 →12300.0
float('+123') #正号 →123.0
float('-123') #负号 →-123.0
2. 特殊字符串
float('inf') #正无穷大 →inf
float('-inf') #负无穷大 →-inf
float('Infinity') #正无穷大(不区分大小写)→inf
float('-Infinity') #负无穷大→-inf
float('INF') #正无穷大 →inf
float('NaN') #非数字(Not a
Number)→nan
float('nan') #非数字 →nan
3. 数字类型
float(123) #整数 →123.0
float(123.456) #浮点数 →123.456
float(True) # True转换为1.0
float(False) # False转换为0.0
4. 特殊格式
float(' 123.45 ') #前后可以有空白字符 →123.45
float('1_234.56') #支持下划线分隔(Python
3.6+)→1234.56
float(1_234.56) #支持下划线分隔(Python
3.6+)→1234.56
5. 合法但可能不期望的输入
float('1e1000') # 可能溢出为inf(取决于平台)
float('0.0') # 零 →
0.0
float('-0.0') # 负零 →
-0.0
inf 表示正无穷大
-inf 表示负无穷大
nan 表示非数字(Not
a Number)
科学计数法格式为:[+-]?数字[.数字]?[eE][+-]?数字
Python 3.6+ 支持数字中的下划线分隔符,提高可读性
微生信助力高分文章,用户350000+,谷歌学术8600+