第三节 数据类型(1 / 1)

Python的语法规则非常简单,符合人类思考问题的逻辑,同时Python还提供了强大的对数据类型的支持,在某些编程语言中非常复杂的数据操作,在这里只需要简单的几条语句就可以实现。这使得使用这种编程语言时,可以专注于算法设计和解决问题。

在各种问题中需要处理的数据千差万别,例如,Excel表格中的数据,可能是数字,也可能是英文字母,还有可能是一段中文,在人工智能领域,还经常需要处理图形、音频、视频等所谓的非结构化数据。接下来将介绍Python支持的几种常用的数据类型。需要说明的是,通过面向对象的数据结构,Python可以支持几乎所有数据类型,这部分内容超出了本教材的范畴,感兴趣的同学可以在掌握本教材的内容后再进一步探索学习。

1.数值

常用的数值类型包括整数型、浮点型、复数型等,可以涵盖数学中使用的常见数值。

(1)整数型数值

在实际问题中,最简单也最常使用的是整数型。如果在Python中直接输入数字,则默认它为整数型。Python用int表示整数型数值。

(2)浮点型数值

浮点数就是带有小数的数值,在Python中所有分数都是采用浮点型数值来保存的(无限小数按一定精度保留位数),如15.23,37.999 999 9,42.195等。这样的浮点型数值在Python中可以直接输入。Python用float来表示浮点数值。

(3)复数型数值

Python还支持复数。所谓复数是带有虚部的数,虚部用i来表示,如3+5i,6-i等。Python中可以直接按这样的形式输入一个复数。Python用complex来表示复数数值。

关于数值还有一点需要特别说明。在Python中可以使用各种不同进制的数值,如二进制、八进制、十六进制等,掌握如何使用区别于通常的十进制的方法来表示数值,对于理解一些较为深入的编程方法是非常有用的,这里做个简单的说明,读者可以在实践过程中慢慢摸索其中的道理和规律。

比较常见的是二进制数值,二进制的重要性在于它是数值在计算机内部的表示方式。因为计算机实际上只能处理0和1组成的数值,所以其他进制的数都是转化成二进制后进行存储和处理的。更广泛地,计算机中的代码、各种音频、视频和照片等,在存储的时候也都是使用0和1组成的数据来存储,这些数据在读取时就像数据组成的河流,源源不断地进入计算机的不同部分,经计算机处理之后,才展现出我们熟悉的样子。Python通过0b这样的开头来甄别二进制数。

还有八进制数值,它需要8个字符来表示,分别是0,1,2,3,4,5,6,7。八进制数值使用0o来标识,Python会认定以此开头的数值为八进制数值。

最后说一下十六进制数值,它使用16个字符表示,分别是0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f。在Python中,十六进制数值使用0x标识,Python会认定以此开头的数据为十六进制数值。

读者可以尝试按如下方式输入数值并输出,学习不同进制的数值输入和输出的方式。

In[5]:d=125

In[6]:e=0xfa

In[7]:f=0o256

In[8]:g=0b1110110

In[9]:d

Out[9]:125

In[10]:e

Out[10]:250

In[11]:f

Out[11]:174

In[12]:g

Out[12]:118

可以看到在输入时,d是常用的十进制数,e是十六进制数,f是八进制数,而g是二进制数。当Python输出它们的时候,都会自动转化成十进制数值。例如,在上述输出中,十六进制的0xfa转换成了十进制的250。

2.布尔型数值

布尔型数值包括True和False两种取值,它经常用来表示结果是正确(True)还是错误(False)。Python用bool来表示布尔型数值。

布尔型数值在Python中可以直接输入,注意首字母要大写。例如:

In[13]:a=False

In[14]:b=True

In[15]:type(a)

Out[15]:bool

In[16]:type(b)

Out[16]:bool

上例中,a和b都是布尔型变量。在Python中经常需要表示某些判断结果是正确的还是错误的,这时返回的结果就是布尔型数值。例如:

In[17]:c=3

In[18]:d=5

In[19]:cd

Out[19]:False

In[20]:cd是错的,而c