• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python数字类型数据的转换

python 搞java代码 3年前 (2022-05-21) 23次浏览 已收录 0个评论

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位,但是不绝对


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python数字类型数据的转换

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址