首页
学习
活动
专区
工具
TVP
发布

你必须知道的基本数据类型之二

版权声明

上周,我们讲了在python中常见的数字类型,知道了整形、浮点型、布尔类型、复数类型中一些比较容易忽略的节。算是在讲python基本数据类型的时候,上的一盘开胃菜。

序列:字符串、列表、元组

首先是序列。序列里又分为字符串、列表、元组三个细类。关于字符串我在此前的一篇文章里有详细讲它的简单计算,直达链接我放在下面,这里就不重复讲了。

但是,除了字符串的简单运算之外,我们还得知道:在Python中,通常用单引号、双引号和三引号来表示字符串。

如上图所示,1和’1’的类型,是完全一样的。但是,值得在意的是,无论是单引号还是双引号,若要用它来表示字符串的话,一定要成对的出现。我这儿以字符串let’s go为例,先来看张图。

你看吧,在第一行,当单引号(或双引号)出现了三次,系统直接报错了对不对。这是因为单引号(或双引号)一定得成对的出现。但是你看看最后一行,单引号也是出现了三次,为什么又能直接运行了呢?这得引入在字符串类型中,不得不讲的一个概念:转义字符。

直白的说,转义字符的意思就是将原本有额外含义的字符串,转换为普通的字符串类型。

在Python里,转义字符有很多,相对比较常见的主要是表示两类字符:(1)无法“看见”的字符,如回车;(2)与语言本身有冲突的字符,如单引号。

还记得我们上面讲到的字符串还可以用三引号来表示吗?这倒是没错,但是三引号在表示字符串类型的时候,与单引号和双引号表示字符串是略有一点不同的

就如图那样,三引号可以表示多行字符串。当我们用单引号、双引号准备换行输入的时候,系统会报错。用三引号在输入的时候,系统会直接跳到下一行,直到你最后以一个三引号结尾,因为要成对嘛。但是,你发现了么?最后的结果显示,并没有按照我们所预想的那样显示三行字符串。这其中反而是有“\n”这样的字符插入。别急,我们用print函数打印一遍。

发现了什么了吗?是否感觉“\n”有点似曾相识?对的,“\n”就是我们用转义字符表示的“换行”字符。这个字符恰恰是我们平时看不见的,需要转义字符来协助。试想一下,有了“\n”的存在,那么我们在使用双引号和单引号的时候,是否也是可以使得字符串直接换行呢?不过,这个我就不贴答案了,想知道答案还是建议你实际操作一下。

接下来,我们讲讲列表类型和元组类型。有了前面字符串简单运算的基础,这俩货解释起来也就相对比较简单了。

在Python中,我们通常是使用“[]”来表示列表类型,用“()”来表示元组类型。但要注意的是,无论是在列表类型还是在元组类型中,这里边不仅仅可以输入数字,还可以是字符串,甚至可以是列表(或元组)本身。

和字符串一样,列表类型和元组类型也是可以进行切片运算的,不同的是,在列表类型和元组类型中抽取元素的时候,是按照每个“块”来抽取的。

列表和元组按照“块”来抽取元素,在上图中的后几个嵌套列表和嵌套元组中表现比较明显。而且,当某列表和元组嵌套有列表(或元组)的时候,也是可以对里边的那个列表(或元组)在进行切片的,这个时候,只需要先定位到里面的那个列表(或元组),而后再额外进行切片。如上图中的:“[5][2]”。

集合与字典

以上的这三类数据类型,在Python里被统一称作为“序列”。但除了序列外,在组的概念的里,还有集合和字典两个比较常用的数据类型,它们都是用“{}”来表示。

在讲集合的时候,我们需要明确它与序列相反的两个特性:

无序:这个很好理解。序列是有序的,所以它可以进行切片计算,而集合是不行的。

不重复:在序列里,各个元素之间是允许重复的,而集合里即使出现了重复的元素,最后也一定只会被打印一次。

但同时,我们知道了集合的这两个东西还不够。你还记得我们高中数学学过的集合吧,它有差集、交集和并集的概念。在Python里的集合类型,也同样适用:

但,同样的操作可不适用于序列。

好,基本的集合过后,就是今天要讲的最后一个数据类型——字典了。前面我们知道,字典也是和集合一样,在Python里是用“{}”来表示。这是因为字典也具有集合的那两大特性,但字典的关键之处却并不在于这两个特性。

要理解字典的话,我们先来回忆一下我们小时候经常被老师或者老妈逼着查现代汉语词典时的模样。

当我们要查“数”这个字的时候,不管是通过偏旁还是拼音,我们首先要定位到的,是与“数”相关的关键字,然后才能定位到“数”这个字的所在页码。

映射到Python里的字典,逻辑也是一样的:通过key找到value

key(关键字):类似偏旁、拼音,检索用的关键字。可以是字符串,也可以是数字、元组等不可变的数据类型。

value(值):有检索key而对应到的最终结果。它包括但不局限于str int float list(列表) set(集合) dict(字典)这几个基本数据类型。

因为字典中的key是做检索用的关键字,和我们日常用的词典一样,key也是不能重复的,保持着相对的独立性

废话了这么多,那字典是怎么运作的呢?看图

虽然集合是无序的,但是有了字典,它也是可以被“抽取元素”的。这里要注意:在字典里,key在前,value在后,可别弄反了哟。

好,至此,Python里的基本数据类型就介绍完毕了。不能说哪个更加重要,但这些都是我们在运用Python的过程中,经常会遇到的知识点。如果有不全地方,欢迎亲在下方进行补充,一起学习,一起进步。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180121G0LARU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券