一、Python 3的数据类型
数字类型(整型、浮点型、复数型)、序列类型(字符串、列表、元组、集合、字典)
二、数字类型介绍
1、整型 int
整形 int (在Python 3.X中已经删除长整型)可以存储任意整数(正整数、0、负整数)。
例如: 100 -32
2、浮点型 float
浮点型 float 指的是:带小数点的数字以及科学计数法表示的数字。
例如:0.0 1.5 3e+7
3、复数类型 complex
复数由实部和虚部构成,复数的虚部以j结尾。
例如:12+0.2j 75-0.1j
三、序列类型介绍
1、字符串 string
字符串 string 就是若干个字符的合集。Python中的字符串必须使用单引号、双引号或者三引号包围。
在Python中,单引号和双引号没有任何区别。但是三引号既可用于注释,又可用于长字符串(不用\就可以直接换行书写的字符串。)
例如:'abc' "abc" '''abc'''
▶▶▶ Python 处理字符串中的引号?
当字符串内容中出现引号时,我们需要进行特殊处理,否则 Python 会解析出错,例如:'I'm a good doctor!'
由于上面字符串中包含了单引号,此时 Python 会将字符串中的单引号与第一个单引号配对,这样就会把 'I' 当成字符串,而后面的m a great coder!
'就变成了多余的内容,从而导致语法错误。那么该如何处理呢?
1> 对引号进行转义
在引号前面添加反斜杠\
就可以对引号进行转义,让 Python 把它作为普通文本对待,例如:
2> 使用不同的引号包围字符串
如果字符串内容中出现了单引号,那么我们可以使用双引号包围字符串,反之亦然。例如:
▶▶▶ Python 字符串的换行?
Python 不是格式自由的语言,它对程序的换行、缩进都有严格的语法要求。要想换行书写一个比较长的字符串,必须在行尾添加反斜杠\,例如:
2. 列表 list(有序的序列)
从形式上看,列表会将所有元素都放在一对中括号[ ]
里面,相邻元素之间用逗号,
分隔。
从内容上看,列表可以存储整数、小数、字符串、列表、元组等任何类型的数据,并且同一个列表中元素的类型也可以不同。
例如:list1 = [1,3.14,[2,3,4],(1,),'http://www.baidu.com']
3. 元组 tuple(有序的序列)
元组 tuple 可以存储一系列的值。Python中的元组 tuple 必须使用( )包围。
tuple1 = (1,2,'3',(9,))
4. 字典 dict(无序的、可变的序列)
字典 dict 的元素以“键值对(key-value)”的形式存储。
字典 dict 是一种无序的、可变的序列,而列表(list)和元组(tuple)都是有序的序列,它们的元素在底层是挨着存放的。
字典类型是 Python 中唯一的映射类型。字典中,各元素对应的索引称为键(key),各个键对应的元素称为值(value),键及其关联的值称为“键值对”。如图所示:
4.1 使用 { } 创建字典
由于字典中每个元素都包含两部分,分别是键(key)和值(value),因此在创建字典时,键和值之间使用冒号:
分隔,相邻元素之间使用逗号,
分隔,所有元素放在大括号{ }
中。需要注意的是,同一字典中的各个键必须唯一,不能重复。
例如:dic1={'姓名':'张三',数学':90}
三、序列的基本操作
序列的两个主要特点就是索引操作和切片操作。
1. 索引操作:可以从序列中抓取一个特定项目。
序列中,每个元素都有属于自己的编号(索引)。从起始元素开始,索引值从 0 开始递增,如图:
除此之外,Python 还支持索引值是负数,此时索引是从右向左计数,即:从最后一个元素开始计数,从索引值 -1 开始,如图:
注意,在使用负值作为列序中各元素的索引值时,是从 -1 开始,而不是从 0 开始。
2. 切片操作
切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素,通过切片操作,可以生成一个新的序列。
序列实现切片操作的语法格式:sname[start : end : step]
其中,各个参数的含义分别是:
- sname:表示序列的名称;
- start:表示切片的开始索引位置(包括该位置),此参数也可以不指定,会默认为 0,也就是从序列的开头进行切片;
- end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度;
- step:表示在切片过程中,隔几个存储位置(包含当前位置)取一次元素,也就是说,如果 step 的值大于 1,则在进行切片去序列元素时,会“跳跃式”的取元素。如果省略设置 step 的值,则最后一个冒号就可以省略。
3. 序列的基本操作:
(1)len():求序列的长度
(2)+:连接两个序列(序列相加)
(3)*:重复序列元素(序列相乘)
(4)in:判断元素是否在序列中
(5)max():返回最大值
(6)min():返回最小值
(7)list():将序列转换为列表
(8)str():将序列转换为字符串
(9)sorted():对元素进行排序
(10)reversed():对元素进行反向排序
(11)tuple() :将其它数据类型转换为元组类型