1.引言
Python 是由 C 语言编写的,更严谨地说,在 Python 的各种实现中,最广泛、最主流、文档最齐全、第三方库最多的是由 C 语言实现的 CPython。 Python 的数据类型可以简单地划分为两种:基本数据类型 和容器数据类型 。基本数据类型是单一对象,包括数字型、布尔型以及 None(空值),容器类型包括序列、映射和集合。如下图:
2.基本数据类型
1.整型(int)
整型数据的值必须是整数,和 C、Java 等静态语言不同的是,在 Python 中,整型变量并没有固定的长度限制,整数的最大值只受内存容量所限,也就是说用户可以定义巨大得超乎想像的整数。可以通过 type()函数来查看当前变量的数据类型。可以使用内建函数 int()(这种 和数据类型同名的函数称为工厂函数)将一个浮点型变量或一个纯数字的字符串转换为整型。
a = 2
print(type(a))
输出a的类型为:
<class 'int'>
2.浮点型(float)
浮点型数据即数学中的小数,类似于 C 语言里的 double 型(双精度浮点数)。整数与浮点数进行算术运算的结果是浮点型。当一个非整数被赋值给一个变量时,这个变量就是浮点型的。可以使用工厂函数 float()来将一个整型变量或一个纯数字的字符串转换为浮点型。
a = 2.2
print(type(a))
输出a的类型为:
<class 'float'>
3.布尔型(bool)
布尔型数据的取值只有两个,即 True 和 False,默认为 True。其他变量也可以作为布尔值,其中数字 0、空字符串、空的列表和元组、空的集合、None 都被视为 False,非 0 和非空容器类型则被视为 True。和其他类型一样,可以使用工厂函数 bool()来将不同的变量转换为布尔型。
a = bool([])
print(type(a))
输出a的类型为:
<class 'bool'>
4.None(空值)
None 表示一个空对象,没有方法和属性,它的特性如下: None 是一个特殊的常量。 None 和 False 不同。 None 不是 0。 None 不是空字符串。 None 和任何其他的数据类型比较永远返回 False。 None 有自己的数据类型 NoneType。 可以将 None 赋值给任何变量,但不能创建其他 NoneType 对象。
a = None
print(type(a))
输出a的类型为:
<class 'NoneType'>
3. 容器数据类型
1. 字符串(str)
字符串是字符的集合,位于成对的单引号、双引号或三引号(连续三个单引号或双引号)之间。字符串和下面将要介绍的列表和元组一样,都属于序列类型。这表示它们可以使用方括号([])来索引组成自身的各个元素。所有的序列类型都有相同的索引规则,第一个元素的索引数字是 0,第二个元素的索引数字是 1,以此类推,最后一个元素的索引数字是-1。通过索 引号,就能访问到想要访问的元素。
a = "None"
print(type(a))
输出a的类型为:
<class 'str'>
2.列表(list)
在列表中,可以混合安排不同的数据类型,列表的特点如下: 用方括号“[]”包围数据集合,不同的成员之间用逗号“,”分隔。 元素可重复,可包含任何数据类型。 所有的序列类型都可以通过下标(索引序号)来访问其中的元素。 列表支持嵌套,并且支持多层嵌套。 列表提供了多种方法,可以对其包含的元素进行添加、删除、排序等处理。 列表可以修改自身,所以它是可变类型。 列表支持由 del 语句或 del()函数来删除它的一个元素。 列表支持加法和乘法(动态运算符),可以用加号“+”连接两个列表,可以用乘号“*”来将列表乘以一个整数 n,使得 n 个相同列表被连接在一起。
a = [1,2,3]
print(type(a))
输出a的类型为:
<class 'list'>
3.元组(tuple)
元组和列表十分类似,唯一的不同是元组不能被修改(字符串也是如此),可以看成只读的列表。元组中的元素可重复,支持任意类型、任意嵌套和常见的序列操作。
a = (3,)
print(type(a))
输出a的类型为:
<class 'tuple'>
4.字典(dict)
字典是无序的,因此不支持数字序号用作索引;它使用键来索引对应的值。键值对一一映射,所以字典是一种映射类型。每个键必须是唯一的,不允许有相同的键,而值可以相同。
d = {key1 : value1, key2 : value2 }
a={1:3, 1:4}
print(type(a))
输出a的类型为:
<class 'dict'>
5.可变集合(set)
集合是一个无序不重复元素集,由于它是无序的,所以不能执行索引操作.可变集合允许添加和删除集合中的元素,它不可哈希,所以它不允许被当作其他集合的成员,也不能被当作字典的键
a = set('cheeseshop')
print(type(a))
输出a的类型为:
<class 'set'>
6.不可变集合(frozenset)
集合是一个无序不重复元素集,由于它是无序的,所以不能执行索引操作.可变集合不允许添加和删除集合中的元素,它有哈希值,所以它可以作为其他集合的成员,也可以作为字典的键。
a = frozenset('cheeseshop')
print(type(a))
输出a的类型为:
<class 'frozenset'>
感谢大家,点赞,收藏,关注,评论!
|