Number类型的强制转换
int强制将数据转换成字符串
可转换类型:int、float、bool、纯数字字符串
<code class="language-python"><a href="https://www.gaodaima.com/tag/var" title="查看更多关于var的文章" target="_blank">var</a> = 10 <a href="https://www.gaodaima.com/tag/res" title="查看更多关于res的文章" target="_blank">res</a> = int(var) print(res, type(res)) var = 3.14 res = int(var) print(res, type(res)) var = True res = int(var) print(res, type(res)) var = False res = int(var) print(res, type(res)) var = "123456" res = int(var) print(res, type(res)) # var = "123abc" # res = int(var) # print(res, type(res)) # Error # var = 3+5j # res = int(var) # print(res, type(res)) # Error </code>
www#gaodaima.com来源gaodai#ma#com搞*代#码网搞代码
float强制将数据转换成字符串
可转换类型:int、float、bool、纯数字字符串、纯小数字符串
<code class="language-python">var = 10 res = float(var) print(res, type(res)) var = 3.14 res = float(var) print(res, type(res)) var = True res = float(var) print(res, type(res)) var = False res = float(var) print(res, type(res)) var = "123456" res = float(var) print(res, type(res)) var = "0.123" res = float(var) print(res, type(res)) # var = "123abc" # res = float(var) # print(res, type(res)) # Error # var = 3+5j # res = float(var) # print(res, type(res)) # Error </code>
complex强制将数据转换成字符串
可转换类型:int、float、bool、complex、纯数字字符串、纯复数字符串
<code class="language-python">var = 10 res = complex(var) print(res, type(res)) var = 3.14 res = complex(var) print(res, type(res)) var = True res = complex(var) print(res, type(res)) var = False res = complex(var) print(res, type(res)) var = "123456" res = complex(var) print(res, type(res)) var = "5+2j" res = complex(var) print(res, type(res)) var = 3+5j res = complex(var) print(res, type(res)) # var = "123abc" # res = complex(var) # print(res, type(res)) # Error </code>
bool强制将数据转换成字符串
可转换强转一切数据类型,返回值为True或False
<code class="language-python">var = 3+5j res = bool(var) print(res, type(res)) var = "123abc" res = bool(var) print(res, type(res)) var = [1, 2, 3,"abc"] res = bool(var) print(res, type(res)) var = (1, 2, 3,"abc") res = bool(var) print(res, type(res)) var = {1, 2, 3,"abc"} res = bool(var) print(res, type(res)) var = {"a":1, "b":2} res = bool(var) print(res, type(res)) </code>
bool值为False的十种情况
<code class="language-python">0 # 整型0 0.0 # 浮点型0.0 False # 布尔型False 0j # 复数型0j或0+0j "" # 空字符串 [] # 空列表 () # 空元组 set() # 空集合 {} # 空字典 None # 空 </code>
扩展
强转空数据时,默认转换成当前数据类型的一个值
<code class="language-python">res = int() # 结果:0 <class "int"> print(res, type(res)) </code>
Number自动类型转换
默认低精度向高精度进行转换:bool -> int -> float -> complex
<code class="language-python"># bool + float res = True + 344.565 # 1.0 + 344.565 = 345.565 print(res ,type(res)) # int + float res = 5 + 7.88 # 5.0 + 7.88 = 12.88 print(res ,type(res)) # float + complex res = 5.66 + 9.1 -90j # (5.66+0j) + (9.1-90j) = 14.76-90j print(res ,type(res)) </code>
小数存在精度损耗问题,小数后面一般有时截取15~18位,但是不绝对