Python之可调用对象以及列表和字典的原处修改特性//集合

类:数据+方法

类实例化成对象。实例不同,内部的数据不同,称之为不同的实例。

方法可以理解成调用的接口或者支持的操作。

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]

    

posted on 2015-11-30 20:34  雲斷丶  阅读(216)  评论(0编辑  收藏  举报

导航