Python为什么要使用内置对象类型
Python程序可以分解为模块、语句、表达式、以及对象:
-
程序由模块构成
-
模块包含语句
-
语句包含表达式
-
表达式建立并处理对象
说明:
在Python中,数据是以对象的形式出现,无论是Python提供的内置对象还是扩展对象,所以学习Python可以从底层开始,探索Python使用的内置对象。
主要内置对象:
-
可变序列: 列表
-
不可变序列:字符串、元祖
-
集合
-
映射(字典)
-
数字
-
文件
-
其他类型
内置对象的作用:
-
内置对象往往比定制的数据结构更有效率,这是因为Python内置对象优化了用c实现数据结构的算法。
-
内置对象使得程序更容易编写。例如,集合(列表)和搜素表(字典),可以马上使用它们,而不需要自己去编写这些数据结构。
-
内置对象可拓展。对于复杂的一些应用任务,需要提供自己编写的对象类型,这时候可以利用Python的类或c语言的接口,往往这些拓展对象是建立在内置对象的基础上。
** 常用内置对象简介**
列表:
-
可包含任意对象的有序集合
-
通过下标索引(位置偏移)访问元素
-
可变长度,异质,可任意嵌套
-
支持原位改变
-
对象引用数组
列表基础运算:
image列表主要方法:
image列表推导式:
-
列表推导式提供了从序列创建列表的简单途径。
-
常应用程序将一些操作应用于某个序列的每个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列
列表推导式例子:
image常考点:
-
list.extend() 和 list.append()方法区别
-
sorted(list) 和 list.sort()方法区别
元祖:
-
可包含任意对象的有序集合
-
通过下标索引(位置偏移)访问元素
-
固定长度,异质,可任意嵌套
-
对象引用数组
说明:元祖与列表基础方法类似,主要区别在于元祖长度是固定的。元组使用小括号,列表使用方括号
为什么有了列表还要元祖:
元祖的不可变性提供了某种完整性,这样可以确保元祖子啊程序中不会被另一个引用修改,而列表就没有这样的保证。
集合:
-
集合(set)是一个无序的不重复元素序列。
-
可以使用大括号 { } 或者 set() 函数创建集合
-
创建一个空集合必须用 set() 而不是 { }
-
列表推导式,同样集合支持集合推导式(Set comprehension):
集合求交集等操作:
说明:
-
集合中副本是被忽略的
-
集合元素的顺序是随意的
-
集合是可变的,所以不能用做字典的键。
-
集合本身只能包含不可变值,所以也就不能包含其他集合
限于篇幅:其他关于集合操作可查看官方文档。
字典:
除了列表之外,字典也许是Python中最灵活的内置数据结构类型,字典的主要属性:
-
通过键而不是偏移量来读取
-
任意对象的无序集合
-
可变成、异构、任意嵌套
-
属于可变映射类型
构造字典的方法:
- 直接通过赋值创建
- 通过元祖构造
- 键值对构造
-
利用fromkeys()方法构建字典
第一个参数是一个迭代对象,作为字典的键
第二个参数是一个值(可选),作为字典中的值
- 通过zip构造
字典常用方法:
image注意事项:
-
对于序列的运算操作对字典无效
-
对新索引赋值会添加项
-
键不一定总是字符串
** 本节关键术语**
-
内置对象
-
数据结构
-
列表推导式
-
异构
-
列表、元祖、集合、字典
-
赋值、引用
Last:
- 其他内置对象限于篇幅不做介绍,点击阅读全文查看官方文档。
小编最近整理了一套Python学习教程,有需要的小伙伴,记得来小编的交流群:556370268,即可免费领取一套Python学习教程哦
网友评论