2.4 不同数据类型的转换之一

我们常常需要在不同的数据类型进行转换。常见的转换主要是以整数为中心,我们来看看整数和其他三种类型的转换。

先看看如何从浮点数转换为整数。一般有两种基本转换:一种称之为取整,即只保留小数的整数位,不自动四舍五入,此时可以使用int函数进行。

num = 1.65
print(int(num))

输出为:1。当然,取整也有不同的形式,比如也可以向上取整,1.65取整为2。这时就需要利用ceil函数,ceil是天花板的意思,很形象,即大于该浮点数的最小整数。

import math
num = 1.05
print(math.ceil(num))

输出为:2。这是我们第一次使用其他模块里面的函数。在Python中,除了标准的各种现成函数外,我们还可以通过导入其他的模块,比如这里的math模块(数学计算模块),获取更多的函数功能,使用方法就是在函数名称前加上导入模块的名称。

但是,如果记不太清楚了或者书写太麻烦怎么办?关于如何在PyCharm自动导入库,这里介绍PyCharm的一个重要快捷键,即“Alt+Enter”,在代码中如果缺乏对必要模块的导入,可以在PyCharm编辑环境中相关代码处点击,并按下此快捷键,系统会提示:


选择“Import this name(导入这个名称)”即可进一步选择所需的模块,再次回车确定,即可自动完成导入语句的书写。

第二种称之为四舍五入,可以使用round函数进行:

num = 1.65
print(round(num))

输出为:2。

我们来看个奇怪的问题:

print(round(1.65, 1))
print(round(1.75, 1))

输出为:
1.6
1.8

这里需要注意一个细节问题,四舍五入在Python中采取了“四舍六入五成双”的规则,可以实现更为平衡的进位设计,五成双的意思是高位为单数则进1,高位为双数则不进位。所以产生上述效果。

我们再看看从整数转换为浮点数。这个更为简单。

num = 2
print(float(num))

输出为:2.0。

float函数不仅可以将整数转换为浮点数,对于任何可以转换过来的其他类型,如字符串也可以转换:

num = '3.14'
print(float(num))

输出为:3.14。

在数值计算中,常常会将整数和浮点数一起混用,此时Python默认自动将整数转换为浮点数。

r = 2
pi = 3.14
print(r * r * pi)

输出为:12.56,可以用于表达圆面积的计算。

更为精确的pi可以直接使用math模块的pi常量值:

import math
r = 2
print(r * r * math.pi)

输出为:12.566370614359172。输出结果的数值精度更高。

其实布尔值在存储上也是一种整数,假就是0,真就是非0,通常以1表示。我们看两个练习:

flag = 1 > 2
print(flag + 1)

输出为:1。

num = 1
print(num + True)

输出为:2。

可见,布尔型和整数确实可以混用。当然我们不建议大家这样做,不过在以后的代码中,遇到真假判断时,记得0就是假。表示判断条件不满足,不是0则表示真,但是反过来,假对应0,而真则只对应1。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leeshuqing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值