python从0开始学习(三)

发布于:2024-05-06 ⋅ 阅读:(24) ⋅ 点赞:(0)

目录

前言

1、类型转换

1.1 隐式类型转换

1.2 显式类型转换

2、eval函数

总结


前言

        上篇我们讲了python中的变量与常量,以及变量类型。本篇文章将接着往下讲。

1、类型转换

        python中的数据类型转换包括两种:隐式类型转换和显式类型转换。

1.1 隐式类型转换

        隐式类型转换是指在python在计算时会对数据进行自动的类型转换,比如:一开始我们设定两个整数a和b,它们的值分别是10和3,那么如果我们用c这个变量保存a除b的结果时,c的类型就会自动转化为浮点型,因为10除3的结果是小数,因此python会自动将类型转化为浮点型。

        下面看例子:

a=10
b=3
c=a/b
print(c,type(c))

        可以看到,c的值最后是3.333...。而后我们用type函数测试c的类型,得到的结果是float类型。

1.2 显式类型转换

        显示类型转换是我们人为地使用函数将数据转化成我们想要的类型:

函数 描述说明
int(x) 将x转化为整数类型
float(x) 将x转化为浮点数类型
str(x) 将整数x转化为一个字符
ord(x) 将一个字符x转化为其对应地整数值
hex(x) 将一个整数x转化为一个十六进制字符串
oct(x) 将一个整数x转化为一个八进制字符串
bin(x) 将一个整数x转化为一个二进制字符串

        如上表格,记录了显式类型转换会用到的函数。下面我们来举例子:

print(float(10))
print(int(3.14))
print(int(3.9))
print(int('100')+int('200'))
print(chr(100))
print(ord('彭'))

        运行结果如下:

        第一行我们将10转化为float可以看到它变成了小数10.0,用int将3.14和3.9转化为整数类型输出都为3,因此了解int类型强转小数只保留整数部分,不存在四舍五入。第四行,将两个字符'100'和'200'强制类型转化为整数,相加后得到300,但是需要注意,我们无法将'3.14'这样的数转化成整型,因为它本身不是整型,所以不能" int('3.14') "这样去操作。用chr转化100,python会在unicode表中找到100对应的字符进行输出,这个结果为d。最后ord('彭'),这样转化,python会在unicode表中找到'彭'这个字对应的编号进行输出,这个编号是24429。剩下的转化类型函数也和上述相似,就不全部讲解了。

        数值类型转换就讲到这。

2、eval函数

        现在讲解eval函数,这是一个python自带的函数,可以直接使用,跟print和input一样。它的作用是:去掉字符串最外侧的引号,并按照python语句方式去指向去掉引号后的字符串。eval函数经常和input函数一起使用。

        eval函数的语法形式:

        变量=eval(字符串)

        举例说明:

s='3.14+3'
print(type(s))
print(eval(s),type(eval(s)))

        输出结果如下:

        说明,s本身是一个字符串类型,但是eval(s)将会执行3.14+3这个加法操作,得到的结果为6.14,最后多出的1是python计算小数时正常的偏差,最后计算结果类型为'float'。这就是eval函数的作用。

        eval函数经常和input一起使用,用来获取用户输入的数值。因为对于input的结果,python会自动处理为字符串类型,所以加上eval函数,就能读取到其数值类型。

总结

        本篇文章的内容就先讲到这,主要讲解了类型转换,包括显式类型转换和隐式类型转换。以及eval函数的使用。希望对你有所帮助。