1.1内置数据类型概述
1.为什么使用内置数据类型?
1 -(1)内置对象使程序更容易编写:
2 对于简单的任务,内置类型往往能够表现问题领域的所有结构.python直接提供强大的工具,例如集合(列表),搜索表(字典),由于python已经封装好了,可以立即使用它们完成很多工作.
3 -(2)内置对象是可扩展的组件:
4 对于较为复杂的任务,或许仍然需要使用python的类或者C语言的接口提供你自己的对象,但手动实现的对象往往建立在像列表,字典这样的内置类型的基础上.
5 -(3)内置对象往往比定制的数据结构更有效率
6 在速度方面,Python的内置类型使用了已优化的用C实现的数据结构算法来进行加速.尽管在某些时候你需要手动实现自己的数据类型,但往往很难达到内置数据类型所提供的性能水平.
7 -(4)内置对象是语言标准的一部分
8 从某种程度上来说, python不但借鉴了依靠内置工具的语言,而且汲取了那些依靠程序员提供自己实现的工具或框架语言的优点.Python的内置工具是标准化的,它通常都是一致的.
总结来说: Python提供的内置对象类型不仅仅让编码更加简单, 相比与自己手动实现的数据类型相比更加强大也更加高效.
2.Python核心数据类型
- 基础数据类型:
- 字符串类型
- 数值类型
- 布尔类型
- 列表类型
- 元组
- 字典类型
- 集合类型
- 其他核心类型:
- None
- 文件
- 类型
- 程序单元类型
- Python实现相关类型
3.数据类型的不可变与可变特性
所谓的数据类型的不可变, 即一个数据类型被创建后写入内存中, 就不能通过操作来改变原有的值了. 但在编码的过程中定义了一个变量, 很有可能甚至经常发生的事情是在后面这个变量需要一个新的值, 这是如果该变量是个不可变数据类型, 我们可以通过建立一个新的的值并以同一个变量名俩进行赋值, 在Python中如果一个内存中的值不再使用, 会被自动清理.
在基础数据类型中:
- 不可变数据类型: 数字, 字符串, 元组
- 可变数据类型: 列表, 集合, 字典
4.序列与散列的概念:
所谓序列是指一系列具有位置顺序的对象组成的集合. 而散列就是与序列相对的概念, 散列可能也是一些对象的集合, 但这些对象并没有被编排顺序.
在基础数据类型中:
- 序列: 字符串, 列表, 元组
- 散列: 其他
5.数据类型的检查方法
1 # 1.双端type法: 已知一个值或变量的数据类型, 通过该值或变量的类型进行对比
2 type(a)== type(“abc”)# 测试a的数据类型是不是字符串类型, 'abc'为字符串类型
3 # 2.单端type法: 利用type函数与数据类型关键字对比
4 type(name)== str # 测试name变量的类型是不是str字符串类型
5 # 3.类对象检测法: 利用isinstance函数, 由于对象都是由类实例化而来, 所以通过instance函数检测一个变量是不是数据类型类的对象
6 isinstance(l,list)
6.寻求帮助
dir(s): 这是一个内置函数, 他会列出参数s对应类型的所有属性与方法, 返回一个列表. 这个列表只是罗列了所有的方法与属性, 并没有详细的信息
help: 获取对象帮助文档的一个内置函数, 返回一个对象的所有属性与方法, 并向开发人员展示尽可能详尽的