如果你之前看过其他教程,但是发现云里雾里复杂的让你头晕眼花的话,没错,看这里,本系列Python教程专为啥都不会的新手用户打造,放宽心,大胆看,我就是说说书,你就当听听故事,轻松愉快走进编程的大门,“程序设计”不再神秘也不再遥不可及。只要你会最基本的电脑操作(装装软件打打字),读过那么几天书,汉字都认识,英文会那么一点点就够了,包学包会!Let’s go!
【本节目录】
数字
和
字符串
,这一节讲剩下的3种稍微高级一些的数据类型。不用担心,这3种高级一些的数据类型,其实也只是之前那两种简单的数据类型的花式组合而已。
Python中有个叫list
的数据类型,中文名字叫列表
。顾名思义,就是一个队列。
比方说有4个同学排成了一队,队伍中的第一个同学是李凯
,第二个同学是孙甜甜
,第三个同学是郭帅
,第四个同学是赵天翔
。现在设想一下,你要告诉别人,这4个同学站了一队。这里面的要点有两个:第一个要点是这4个同学都是谁;第二个要点是他们排成了一队(一条线),并且有先后顺序。
如果用中文来表达的话,我们会这样说:
有4个同学站成了一队,按照顺序分别是`李凯`、`孙甜甜`、`郭帅`、`赵天翔`。
如果用Python来表达的话,我们是这样写的:
['李凯', '孙甜甜', '郭帅', '赵天翔']
这里的中括号([]
)表明了这是一条队列,也就是Python的列表(list)
。中括号中填入了这4个同学的名字,可以看到每个名字都用单引号(''
)包裹了起来,所以这是4个字符串,字符串之间用逗号(,
)进行了分隔。到这里,我们就把刚刚的意思,用Python语句表达了出来。其实这就是一个翻译的过程,把我们想表达的意思翻译成电脑能听懂的语言,也就是程序语言。
※在Python,所有字符串
都要用引号包裹起来才可以,这在之前讲到过。
Python中还有一种数据类型,叫做tuple
,中文名称叫元组
。这个名称第一次听到的话会感觉很绕口,也很晦涩难懂,没关系,你知道这个东西叫这个名字就好,具体是什么意思我马上来解释。其实元组
就是一个固定好了的列表
,这个队伍一旦确定好了之后就不允许做任何改变。就好像同学们军训的时候站了一条队,这时候有宣传部门的工作人员来拍了张照片,以后不管这条队伍发生了什么变化,不管这条队伍后来有人离开还是有人更换,这张照片里的队列构成(队伍里每个位置的人是谁,以及这些人的站位顺序)都不会有任何改变。用站队列来比喻的话,元组
就可以比喻成“照片里的队列”。
如果用中文来表达的话,我们会这样说:
有4个同学站成了一队,有人拍了张照片,照片里按顺序分别是
`李凯`、`孙甜甜`、`郭帅`、`赵天翔`。
如果用Python来表达的话,我们是这样写的:
('李凯', '孙甜甜', '郭帅', '赵天翔')
这里的小括号(()
)表明了这是一条“照片里的队列”,也就是Python的元组(tuple)
。
※是不是感觉列表
和元组
这两个数据类型很像?但是区别也显而易见了吧?对,没错,列表
里的元素可以改变,而元组
中的元素,从最开始一旦生成,后续就无法进行操作和改变了,只能查看元组中的内容。
字典
是Python中非常常见并且用处很广的数据类型,他的含义如同字面意思很好理解,就跟咱们平时某个字或者某个词语不认识的话,去查阅《汉语字典》是一个性质。
假如有个成语“户限为穿”,我们不知道是什么意思,我们会去找一本成语词典,从成语词典里找到这个成语,然后查看这个成语对应的意思。通常字典里的词条解释写法都是这样的:
【户限为穿】门槛都踏破了。形容进出的人很多。
在Python中,字典
的长相是这样的:
{
'士饱马腾': '军粮充足,士气旺盛。',
'来日方长': '将来的日子还很长。表示将来会大有可为或劝人不必急于做某事。',
'户限为穿': '门槛都踏破了。形容进出的人很多。',
'训格之言': '指可以奉为行为准则的教诲之言。'
}
上面这一段代码,因为写在一行太长了,阅读起来可能不太方便,所以分了几行来写,实际上可以连成一行,意思和性质是完全一样的,就像这样:
{'士饱马腾': '军粮充足,士气旺盛。', '来日方长': '将来的日子还很长。表示将来会大有可为或劝人不必急于做某事。', '户限为穿': '门槛都踏破了。形容进出的人很多。', '训格之言': '指可以奉为行为准则的教诲之言。'}
在上面的代码中,首尾呼应的大括号({}
)表明了这是一个字典
,字典
中的元素依然是用逗号(,
)进行了分隔,比如'户限为穿': '门槛都踏破了。形容进出的人很多。'
就是其中的一个元素。上面这个字典
中一共有4个元素,他们分别是:
上述字典 中的元素 |
---|
‘士饱马腾’: ‘军粮充足,士气旺盛。’ |
‘来日方长’:‘将来的日子还很长。表示将来会大有可为或劝人不必急于做某事。’ |
‘户限为穿’: ‘门槛都踏破了。形容进出的人很多。’ |
‘训格之言’: ‘指可以奉为行为准则的教诲之言。’ |
下面来解读一下元素的结构。以'户限为穿': '门槛都踏破了。形容进出的人很多。'
为例,字典
中的每个元素都包含三部分:第一部分,冒号(:
),第二部分。第一部分的名字是key
,中文称之为键
,第二部分的名字是value
,中文称之为值
或者键值
,冒号(:
)的意思就类似于成语词典中的解释说明,冒号(:
)后面的部分是对冒号(:
)前面部分的释义。冒号(:
)前面的key
是用来做索引的。通常我们都是已经知道了key
,但是我们想要查询得到的东西是value
。比方说我们知道这个成语是'户限为穿'
,从字典
中我们就能找到这个成语的意思是'门槛都踏破了。形容进出的人很多。'
。
好啦,上面已经把字典
的每一个部分和环节都很精细的进行了讲解,同学们自己稍微捋一捋就应该很清楚了,大括号({}
)表明这是个字典
,字典
中有很多元素,他们之间用逗号(,
)隔开,每个元素都是类似于key: value
的结构。
经过第1部分的讲解,是不是已经学会了这几种高级的数据类型了呢?如果学会了的话,继续往下看来看看高级的玩法吧!
其实这几种高级的数据类型可以进行更加复杂的组合。之前我们讲解列表(list)
、元组(tuple)
、字典(dictionary)
,内部用的都是字符串
,但实际上并不限于只能使用字符串
,他们可以进行互相组合和嵌套,比如说:
['李甜甜', 465, 35.7, '来日方长', '今天天气不错。', 485647.48] # 这是个list
('李甜甜', 465, 35.7, '来日方长', '今天天气不错。', 485647.48) # 这是个tuple
(634.45, '汽车', ['天空', 34, '孙亮'], (55.33, 1.0, '小桥流水')) # 这是个tuple, 内部还有一个list以及一个tuple
第3行(634.45, ['天空', 34, '孙亮'], (55.33, 1.0, '小桥流水'))
是不是看着有点儿晕?其实很简单的,不要担心,我们先看最外层,是个小括号(()
),说明这是个元组
,接下来找这一层小括号(()
)里的逗号(,
)来分析元素,可以看到总共有4个元素,分别是634.45
、'汽车'
、['天空', 34, '孙亮']
、(55.33, 1.0, '小桥流水')
,第一个元素是个数字
,第二个元素是个字符串
,第三个元素是个列表(list)
,第四个元素是个元组(tuple)
。然后第三个元素和第四个元素中分别又包含了各自的子元素。由此类推,可以继续无限组合下去。
这一节的文字内容可能比较多,我尽量讲的细一些,这样便于初学者学习和理解,如果有不明白的问题,可以留言一起交流学习。其实还有一种数据类型集合(set)
,在这节课里暂时先不作讲解,感兴趣的同学可以自行动手查资料进行自学。学编程一定要养成自己动手查资料的好习惯,并且要亲手写代码,多动手尝试,这样你的编程才能有大的进步!