Python基本数据类型
Python3 的六个标准数据类型:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
类型检测
isinstance 和 type 的区别在于:
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型。
类型转换
数据类型的转换,你只需要将数据类型作为函数名即可。
Number
Python3 支持 int、float、bool、complex(复数)。
整数 没有大小限制
浮点数 也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。
布尔值 True False(注意大小写)
String
Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
另外,反斜杠(\)可以作为续行符,表示下一行是上一行的延续。也可以使用 """...""" 或者 '''...''' 跨越多行。
注意:
- 1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
- 2、字符串可以用+运算符连接在一起,用*运算符重复。
- 3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
- 4、Python中的字符串不能改变。
List(列表)
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
注意:
- 1、List写在方括号之间,元素用逗号隔开。
- 2、和字符串一样,list可以被索引和切片。
- 3、List可以使用+操作符进行拼接,用*运算符重复。
- 4、List中的元素是可以改变的。
Tuple(元组)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。
元组写在小括号 () 里,元素之间用逗号隔开。
因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果是数字。
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
tup2 = (20,) # 一个元素,需要在元素后添加逗号
注意:
- 1、与字符串一样,元组的元素不能修改。
- 2、元组也可以被索引和切片,方法一样。
- 3、注意构造包含 0 或 1 个元素的元组的特殊语法规则。
- 4. 虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
string、list 和 tuple 都属于 sequence(序列)。
Set(集合)
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
可以使用大括号 { } 或者 set() 函数创建集合.
注意:
1.创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
2.list是可变的,就不能放入其中(初始化才可以)
Dictionary(字典)
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。(list是可变的,就不能作为key)
在同一个字典中,键(key)必须是唯一的。