深度学习:卷积神经网络技术与实践
上QQ阅读APP看书,第一时间看更新

2.1 数据类型

根据数据所描述的信息,可以将数据分为不同的类型,称为数据类型。对于一种高级程序设计语言而言,它的数据类型都明显或隐含地规定了程序执行期间一个变量或一个表达式的取值范围和在这些值上所允许的操作。

Python语言提供了一些内置的数据类型,在程序中可以直接使用。Python的数据类型一般包括数值型、布尔型、字符串型等最基本的数据类型,这也是一般的编程语言都有的数据类型。此外,Python还有列表、元组、字典和集合等特殊的复合数据类型,这也是Python的特色。

2.1.1 数值类型

数值类型一般用来存储程序中的数值。Python支持3种不同的数值类型,分别是整型(int)、浮点型(float)和复数型(complex)。

1.整型

整型就是我们常说的整数,没有小数点,但是可以有正负号。在Python中,可以对整型数据进行加(+)、减(–)、乘(*)、除(/)、乘方(**)操作。例如:


>>>2 + 3
5
>>>5 – 3
2
>>>2 * 3
6
>>>6 / 2
3
>>>2 ** 3
8

另外,Python中还支持运算次序,因此可以在同一个表达式中使用多种运算,还可以使用括号来修改运算次序。如下所示:


>>>(2 + 3) * 2
10
>>>2 + 3 * 2
8

注意:在Python 2.x版本中有int型和long型之分。其中,int表示的范围为–231~231–1,而long型则没有范围限制。在Python 3.x中,只有一种整数类型,范围没有限制。

2.浮点型

Python将带小数点的数字都称为浮点数。大多数编程语言都使用了这个术语,它可以用来表示一个实数,通常可以分为十进制小数形式和指数形式。相信大家对于5.32这种十进制小数形式都了解。指数形式的浮点数以字母e或者(E)来表示以10为底的小数,e之前为整数部分,之后为指数部分,而且两部分必须同时存在。例如:


>>>65e-5
0.00065
>>>6.6e3
660.0

对于浮点数来说,Python 3.x提供了17位有效数字精度。

另外,请注意:上述例子的结果所包含的小数位数是不确定的。例如:


>>>5.01 *10
50.000999999999998

这种问题在所有的编程语言中都有所体现,虽说Python会尽可能地找到一种精确的表示方法,但是由于计算机内部表示数字方式的特殊性,在一些情况下很难做到。但是这并不影响我们的计算。

3.复数型

在科学计算中经常会遇到复数型的数据,鉴于此,Python提供了运算方便的复数类型。对于复数类型的数据来说,其一般的形式是a+bj,其中a为实部,b为虚部,j为虚数单位。例如:


>>>x = 5 + 8j
>>>print(x)
(5+8j)

在Python中,可以通过.real和.imag来查看复数的实部和虚部,其结果为浮点型。例如:


>>>x.real
5.0
>>>x.imag
8.0

2.1.2 字符串类型

在Python中可以使用单引号、双引号、三引号来定义字符串,这为输入文本提供了很大的方便。基本操作如下:


>>>str1 = "hello Python"
>> print(srt1)
Hello Python
>>>print(str1[1])        # 输出字符串str1的第2个字符
e
>>>str2 = "I'm 'LiHua'"  # 在双引号的字符串中可以使用单引号表示特殊意义的词
>>>print(str2)
I'm 'LiHua'

在Python中,使用单引号或者双引号表示的字符串必须在同一行表示,而三引号表示的字符串可以用多行表示,这种情况多用于注释。例如:


>>>str3 = """hello
Python!"""
"""三引号
多行注释
"""
>>>print(srt3)
Hello Python!

在Python中,不可以对已经定义的字符串进行修改,只能重新定义字符串。

2.1.3 布尔类型

布尔类型(bool)的数据用于描述逻辑运算的结果,只有True(真)和False(假)两种取值。在Python中,一般用在程序中表示条件,满足为True,反之为False。例如:


>>>a = 100
>>> a < 99
False
>>>a > 99
True