类:数据+方法
类实例化成对象。实例不同,内部的数据不同,称之为不同的实例。
方法可以理解成调用的接口或者支持的操作。
3 + 5 ==》 3.__add__(5) 对象的类型决定了它所能够进行的操作。
列表和字典:
变量名,指向对象的引用(无类型)
对象(有类型),当一个对象在内存中并未被引用,那么这个对象就成为了可被垃圾回收器回收的对象。可能并不会立即回收(懒惰或者延迟的处理方法)。
点号运算符:
1.的属性(通常意味着变量名):数据
返回一个数据,显示则需要使用print语句
2.的方法:操作 通常加“()”
调用:执行一段代码
可调用对象:callabel()判断
字串:“”、’‘、“”“ ”“”、’‘’ ‘’‘
列表:[] extent、insert、append、pop、reverse、index、sort
元组: ()
操作:加法--连接
乘法--重复
字典:{} 可变对象。has_key是否存在某个key,iteritems生成一个迭代器对象,get获取某个 key的值,不存在不报错,
数值:数值字面量
获取对象所支持的属性和方法:dir()
某方法的具体使用帮助:help(list.pop)
获取可调用对象的文档字串:print obj.__doc__
集合:一组无序排列的可hash的值
支持集合关系测试:并集、交集、差集
成员关系测试:in 、not in
迭代
不支持:索引 、元素获取、切片
集合的类型:可变的set(), 不可变的frozenset()
没有特定的语法格式,只能通过工厂函数创建。
set的对象是一个可迭代对象。
容器、类型、对象
1、可以不使用续行符时跨行定义,用逗号隔开
2、所有对象都有引用计数,放进容器或者使用了新名称,引用计数都会增加,使用del语句来执行删除操作,或者某次引用的修改超出对象的作用域时。sys.getrefcount来显示对象的引用计数
3、列表、字典都支持两种类型的复制操作。浅复制和深复制。
浅复制是创建新对象,包含对原有对象的引用,新的引用。深复制是对原有对象的迭代复制。copy模块中的deepcopy实现深复制
4、Python中的所有对象都是“第一类”。意味着使用标识符命名的所有对象都有相同状态,因此能够命名的对象都可以直接当数据来处理。
5、所有序列都支持迭代。
6、所有序列都支持的操作和方法:
s[i]
s[i:j]
s[i:j:stride]
len(s)
min(s)
max(s)
sum(s)
all(s)
any(s)
s1 + s2
s1 * n
obj in s1
obj not in s1
7、可变序列的操作:
s1[index] = value 元素赋值
s1[i:j] = t 切片赋值
del s1[index]
del s1[i:j]
del s1[i:j:stride]