Python3 基础数据类型概览
每一门语言中,都有相应的基础数据类型来支撑起该门语言的框架,就如同骨骼较之于人一般。基础数据类型,就是已经存在于内存中的系统对象的类型。那么Python3中,有哪些基础数据类型呢?
Python3中,有六种标准的数据类型:
- Number(数字)
- String (字符串)
- List (列表)
- Tuple (元组)
- Set (集合)
- Dictionary (字典)
其中,这六种标准数据类型中,可分为可变数据类型和不可变数据类型:
- 不可变数据类型:Number(数字)、String(字符串)、Tuple(元组)
- 可变数据类型:List(列表)、Dictionary(字典)、Set(集合)
可变数据类型和不可变数据类型之间有什么区别呢?
不可变的数据类型,指向的是内存上的一块分配的固定内存。如变量a = 1,变量b = 1。由于1是Number型,是不可变的数字类型,那么在内存中,会分配一个固定的内存指向的是1,所以这时候的变量a和变量b,其实是指向同一块内存地址。
可变的数据类型,指向的是内存上的不同的内存。如变量a = [1, 2], 变量b = [1, 2]。由于List型是可变的数据类型,所以即使列表里的元素都一样,如都是[1, 2],系统也会分配不同的内存。所以这边,变量a和变量b分别指向各自的内存地址,而非仍是同一个地址。
Number(数字)
Python3支持的数字类型有,int、float、bool、complex(复数)。
int
int为长整数类型。与其他接触过的语言不同,如OC中的int型,代表整数类型,在内存中,占4个字节,而long long类型则是代表长整型,在内存中占8个字节。Python3中的int型,就如OC中的long long一样,在内存中占8个字节。
(占4个字节与占8个字节,决定了数字能覆盖范围的大小)
float
float为浮点型。浮点型就类似于我们的小数一般,如3.1415926。
bool
bool为布尔类型,为int型的子类。在Python3中,bool类型有两个值,True和False。其中,True == 1, False == 0。
这边切记,判断bool型的时候,直接用True和False即可,不能用True == 1或False == 0判断,因为:
True == 1 # True
False == 0 # True
complex
complex更倾向于一个函数,将在后续的文章中详解。
String(字符串)
Python3中,字符串都是用(')或双引号(")括起来表示。(单引号与双引号并无区别)
每个字符串,其实可以看成是一个存放字符的元组,那么字符串中,便可以使用元组中的许多方法,如:截取、索引等等。
同时使用反斜杠()转义特殊字符。如:
print('Drink')
打印为结果为
Drink
print('D\rink')
打印结果为:
D
rink
如果你不想让反斜杠发生转义、可以在字符串前面添加一个r,表示原始字符串:
print(r'D\rink')
打印结果为:
D\rink
注意:
- 反斜杠可以用来转义,使用r可以让反斜杠不发生转义
- 字符串可以用+运算符连接在一起,用*运算符重复
- Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始
- Python中的字符串,是一个不可变数据类型,所以不能改变
List(列表)
List(列表)是Python3中使用最频繁的数据类型。如我们的商城网站,其中的类目、商品列表、设置等七七八八的内容,其实都是一个个列表数据。
List(列表)中的元素类型可以不同,比如可以把Number、String、List、Dict等等数据类型,全部放入一个列表中。(但是原则上不推荐这么做。尽可能保持列表中数据类型的一致性,有利于后期开发的数据处理。
List(列表),一般用方括号来表示,如list = [1, 2, 3]中,[1, 2, 3]就是一个列表。
List(列表)中内置了很多方法,后续会用专门的一篇文章来说明。
注意:
- List的元素写在方括号中间,以逗号隔开
- 和字符串一样,List可以被索引(index)和切片
- List可以使用+操作符进行拼接
- List中的元素是可以改变的。
Tuple(元组)
Tuple(元组)与List类似,但他们的区别在于,Tuple为不可变数据类型,List为可变数据类型。因此,List中的查询函数,在Tuple中,大多都能用,而List中的增、删、改函数,在Tuple中,全部不可用。
Tuple(元组),一般用小括号来表示,如tuple = (1, 2, 3)中,(1, 2, 3)就是一个元组。
注意:
- 与字符串一样,元组的元素不能修改
- 元组也可以被索引和切片,方法同List一样
- 注意构造包含0或1个元素的元组的特殊语法规则
- 元组也可以使用+操作符进行拼接
Set(集合)
Set(集合)是一个无序不重复元素的序列。基本用于进行成员关系测试和删除重复元素。
Set(集合)用大括号{}或者set()函数创建。如:set = set{1, 2, 3}。
特别注意:创建一个空集合必须用set(),而不是{}。因为{}是用来创造一个空字典的。
Dictionary(字典)
Dictionary(字典)是Python中另一个非常有用的内置数据类型。列表是有序对象集合,字典是无序对象集合。两者之前的区别在于,字典是用通过键来存取的,而不是通过偏移(索引)存取的。
字典是一种映射类型,一般用{}来标识。它的无序键值对一边标识如下key(键):value(值)。
注意
- 字典是一种映射类型,它的元素是键值对
- 字典的关键字必须为不可变类型,且不能重复
- 创建空字典使用{}
网友评论