元组:
① 只可访问,不可修改
② 访问方法同列表
③ 拼接,重复,关系,逻辑,成员关系操作符都同列表
④ tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
字符串
① 同元组一样不可修改,但同样可以用拼接+切片的方法
② 其余几乎都与元组一样
③ 有更多内置方法
④ 格式化
序列:列表、元组、字符串
字典(dict)
{键:值}(key:value)
默认迭代返回的是键,需要返回键值对需要用dict.item()方法,需要返回值需要用dict.vallue()方法
和list比较,dict有以下几个特点: 查找和插入的速度极快,不会随着key的增加而变慢; 需要占用大量的内存,内存浪费多。
注意:key一定是不可变对象
通过key计算位置的算法称为哈希算法(Hash)
输入输出:
1.输入:input()。eg: a = input(‘请输入:’)
注意:input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数
函数式编程:
返回函数:返回的不是结果,而是函数,当调用此函数时才会计算最终结果。
闭包:返回闭包时牢记一点:返回函数不要引用任何循环变量,或者后续会发生变化的变量。
类和对象
集合
set
元素是不可变对象,自动过滤重复对象
删除:remove()方法
增加:add()方法
不可变对象:
指向是不会变的,但是指向的元素可以是可变对象,
元组是不可变对象,不能增删改,但是元素可以是可变对象,例如元组的元素可以是列表
对于不可变对象,调用自身的方法不会改变自身,相当于新建了一个对象,如:replace()方法