购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 值和类型

当人们看到数字8时,不会关心它究竟是文字,还是数字。在Python中,每个数据都有特定的类型,这样Python才知道该如何处理。通过type()函数就可以看到Python数据的类型,如图3.4所示。

图3.4 数据类型

图3.4中,第1行的8是int(整数integer的简写)数据类型,第3行中的8是str(字符string的简写)数据类型,Python认为整数8和字符8是不同的,它们的运算结果如图3.5所示。

图3.5中,第1行将两个数字8加在一起,而第3行却是将两个字符"8"合并在一起。由此可见,区分值的类型非常重要,如果出错,将会得到非常有意思的结果。图3.6显示更多的类型。

图3.5 不同数据类型的运算

图3.6 浮点数和布尔类型

图3.6中,第1行输出的是float(一个浮点数表示一个实数,小数点位置不固定),第3行输出的是bool(布尔类型,只有两个值:True和False)。

1.数值

数据的具体类型决定了Python可以执行哪些操作,数值(包括int和float类型)可以有两种操作类型:比较和数值操作。

(1)比较。比较需要两个操作数,返回值为bool型,如表3.1所示。

表3.1 数值类型的比较操作

可以在Python解释器中输入任何操作符进行验证,如图3.7所示。

(2)数值操作。数值操作返回一个数值类型,如表3.2所示。

表3.2 数值操作

在程序中使用数值运算,通常都将其返回值赋值给某个变量,如图3.7所示。

图3.7 操作符验证与数值操作

2.字符串

字符串类型可以保存任何文字,包括单个数据和一组字母。创建字符串只需要将数据用“'”或者“""”括起来即可。在Python中,两者都可以。首选后者,因为它可以处理含有“'”的字符串。

小贴士

在Python 3中,字符串的编码格式为Unicode,因此Python的字符串支持多种语言。

当源代码中包含中文时,就必须指定保存为UTF-8编码,通常在文件开头写上以下两行:

     #!/usr/bin/env python3
     #-*-coding:utf-8-*-

其中,第一行注释是为了告诉Linux或Mac OS X系统,这是一个Python可执行程序。第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则在源代码中写的中文输出可能会有乱码。

此外,还要确保文本编辑器正在使用UTF-8编码。

与数值类型相似,Python提供了一些字符串操作方法,如表3.3所示。图3.8是在Python解释器中的部分结果。

表3.3 字符串操作

注:在Python中,计数从0开始,所以对应人类语言变为 x +1。

图3.8 字符串操作验证

3.布尔值

布尔类型非常简单,只有True和False两种取值。

小贴士

在Python中,这两个值的首字母要大写,并且不需要任何引号。

这两个值通常不存在变量中。

它们通常用于条件语句(如if)的判断条件中,其主要操作符是与(and)、或(or)和非(not)。

● 非:简单地取值转换。

● 与:需要两个操作数,如果两个数都为真,则返回真,否则,返回假。

● 或:也需要两个操作数,如果两个数中任何一个为真,则返回真。

True和False的操作结果如图3.9所示。

图3.9 非与或操作验证

4.数据类型转换

使用函数int()、float()和str()可以转换数据类型。它们分别将其他数据类型转换为整数、浮点数和字符串。但是它们相互之间不能随意转换,如果将浮点数转为整数,Python将舍去所有小数部分。

当字符串中只有一个字符时,才能转换成数字,而其他类型几乎都可以转换成字符串。 8V6x5z2U3+QflRVQykscYtJwZ/VKbLuYwfRQ/k1enyQTkeBsXrPEh5LgRmu756Mr

点击中间区域
呼出菜单
上一章
目录
下一章
×