【Python】Python基础_类型转换很必要

(点击上方公众号,可快速关注)

为什么需要类型转换

一句话:当前的数据类型并不支持你需要的操作。

比如,当我们要计算两个整数的和的时候,但我们接收到的数据是字符串类型,我们没法进行加法操作,因为:+对于字符串是连接操作,会得到非预期的结果,如下:

>>> 8 + 9
17 # 预期结果
>>> '8' + '9'
'89' # 非预期结果
所以,我们需要将当前的类型转换成适合的类型,从而进一步计算。

类型转换一般需要通过相应的函数完成,下面会分别介绍三个函数:

  • str()函数

    将当前类型转为字符串类型

  • int()函数

    将当前类型转为整型

  • float()函数

    将当前类型转为浮点型

str()函数

整型和浮点型都可以转换为字符串类型。

>>> str(1)
'1'
>>> str(1.0)
'1.0'

有一点需要注意:当参数为字符串类型时,该函数返回的还是实际参数本身。

>>> str('1.0')'1.0'

int()函数

字符串类型和浮点型都可以转换为整型。

>>> int('42')
42
>>> int('42.1')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '42.1'
>>> int('aaa')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'aaa'

可以看到,只有内容是合法整数的字符串才能转换成功,否则会报错,即使内容是浮点数。

而浮点型转换为整型规则比较简单,直接将小数点截断:

>>> int(0.1)
0
>>> int(4.2)
4

同样,实际参数为整数时,会返回参数本身。

float()函数

字符串类型和整型都可以转换为整型。

>>> float('42.1')
42.1
>>> float(42)
42.0
>>> float('aaa')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: 'aaa'

int()函数行为类似,非法的参数会报错。同样,实际参数为浮点数时,会返回参数本身。

习题

下面我们实现一个加法运算功能,要求用户输入两个整数,相加后将结果打印出来。

print('请用户输入一个数字:')
number1=input()
print('请用户输入另一个数字:')
number2=input()
sum = int(number1) + int(number2)
print(str(sum))

这里我们用到了inputprint函数,在上节内容里有介绍,input函数会将用户输入的内容求值为字符串,所以,我们要做整数加法,需要输入的number1number2转为整数。当计算的结果打印时,我们再转换成字符串使用print函数打印到屏幕。

上面的代码实际已经是一个程序,关于程序的内容会在下节说明。

喜欢我的文章,请关注我的公众号。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值