1. number类型
整型:
int
浮点型:float
布尔型:bool
复数:complex
bool类型的数据只有两种情况:True和False
complex:实数+虚数(#j) j:若有一个数的平方等于-1,则该数就是j,表达的是高精度的类型
二进制:0b
八进制:0o
十六进制:0x
2. 容器类型
字符串:
str
列表:list
元组:tuple
集合:set
字典:dict
str
用引号引起来的都是字符串
可获取、不可修改、有序
r:不转义字符,原型化输出字符串(适用于windows目录路径)
\:转义符,将有意义的字符变得无意义,将无意义的字符变得有意义
\n:换行
\t:制表
\r:回车(可实现进度条效果)
list
可获取,可修改、有序
tuple
元组中仅有一个元素时,也需要加上逗号 (元素,)
表示其是一个元组
可获取,不可修改、有序
set
定义空集合要使用 集合名 = set()
形式
不能获取,不能修改,无序,自动去重
dict
数据以键值对存储,表面有序,实则无序,可获取,可修改
允许的类型:不可变数据(可哈希的数据类型)
number类型:int、float、bool、complex
不允许的类型:可变数据(不可哈希的数据类型)
容器类型:list、set、dict
-
但凡提到哈希算法(hash),都是典型的无序特征
目的:为了更加均匀的把数据分配到内存里,底层用的算法类似于取模
Python3.6版本之后,对字典做了优化,存储数据的时候用哈希算法,但是在拿出数据的时候,重新按照定义字典时的顺序进行重新排序,所以看起来有序,实际上无序
3. 获取数据类型
type()
用法:type(参数)
id()
用法:id(参数)
isinstance()
单类型判断:isinstance(值, 要判断的类型)
多类型判断:isinstance(值, (类型1, 类型2...))
类型判断也可以使用:type(值) == 类型
补充:isinstance(True/False,int)
结果也会为True