Python六大数据类型
BEGIN:
python3数据类型主要分为以下六大类:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
- Set(集合)
Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
1、数字类型:
python3的数字类型包括:
- int(长整型)
- float(浮点型)
- complex(复数)
- bool(布尔型)
注意:在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
数字数据类型用于存储数值,他们是不可改变的数据类型,若改变数字数据类型会分配一个新的对象;当指定一个值时,Number 对象就会被创建,如:
a = 1
b = 2
创建了两个实例对象,值分别为1和2,当改变a的值为3时,会为变量a重新分配对象。使用del语句可以删除一些对象的引用,如:
2、字符串类型:
python的字符串或串(String)是由数字、字母、下划线组成的一串字符,如:
字符串取值:python字符串(列表)有2种取值顺序,如(下图左):
- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
python字符串不能通过取下标的方式修改指定位置的字符,如(下图右)::
0 1 2 3 4 5 6
a b c d e f g
-7 -6 -5 -4 -3 -2 -1
字符串截取:s = a[i:j],其中i,j可以不写,表示从位置i开始到位置j结束,其中截取的字符串不包括位置j,如:
字符串连接用‘+’号,如:
字符串重复用'*‘号,如:
3、列表类型:
python的列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套或者叫多维列表,可以用来表示多维数组)。列表用 [ ] 标识,是 python 最通用的复合数据类型,如:
列表取值(同字符串取值),如(下左),修改指定位置的元素值,如(下右):
列表截取(同字符串取值),如(下图左);此外,列表的截取还可以添加第三个参数步长,即[i:j:k]截取从位置i到位置j(包括i不包括j)步长为k,如(下图中);该方法可以用来对列表进行逆序变换,如(下图右):
'a' 'b' 'c' 'd' 'e'
0 1 2 3 4
c[1:4:2] *|___________*______|
c[0:5:3] *|__________________*______|
c[0:5:1] *|______*_____*_____*______|*
列表连接(同字符串连接)用’+‘,如:
列表重复(同字符串重复)用’*‘, 如:
多维数组初始化方案:
[...[[[0 for i in range(x)] for j in range(y)] for k in range(z)]...]
如,二维数组初始化:
4、元组类型:
python的元组类似于list列表,元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表,如:
元组的取值、截取、连接、重复与列表一样,如:
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则,对于空元组直接用小括号或者tuple()表示,如下图左;对于1个元素的元组,则需要在元素后面添加逗号,如图右:
5、字典类型:
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型;列表是有序的对象集合,字典是无序的对象集合;字典用"{ }"标识;字典由索引(key)和它对应的值value组成,如:
字典取值,字典当中的元素是通过键来存取的,而不是通过偏移存取,如:
键(key)必须使用不可变类型(数字、字符串、元组);在同一个字典中,键(key)必须是唯一的,如:
6、集合类型:
python的集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员;基本功能是进行成员关系测试和删除重复元素;可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典,如:
set()函数只接受一个参数,且改参数类型不为数字类型,
错误创建,如:
列表、元组、字典、集合的比较:
列表[ ](list):有序可改变集合,允许重复数据。
元组( )(tuple):有序不可改变集合,允许重复数据。
集合{ }(set):无序无索引(索引为键值)集合,无重复数据。
字典{ }(dictionary):无序,可变,有索引集合,无重复数据。
python数据类型转换:
int(x) :将x转化为一个整数,向下取整,如:
float(x):将x转化为一个浮点数
complex(x [,imge]):将x转化为一个复数,如:
str(x):将x转化为一个字符串,如:
repr(x):将对象 x 转换为表达式字符串,如:
eval(x):用来计算在字符串中的有效Python表达式,并返回一个对象,其实就是能计算字符串表达式,并得到结果,如:
tuple(s):将序列s转化为一个元组,如:
list(s):将序列s转化为一个列表,如:
set(s):将序列s转化为可变集合,可用于列表去重,如 :
dict():创建一个字典。
frozenset(s):将s转换为不可变集合
chr(x):将一个整数转化为其ASCIIi码对应的字符,如:
ord(x):将一个字符转化为一个整数,该整数为x对应的ASCII码,如:
hex(x):将一个整数转换为一个十六进制字符串,如:
oct(x):将一个整数转换为一个八进制字符串
END.