作者:Vamei 出处:http://www.cnblogs.com/vamei
python面向对象的进一步拓展
1、__init__()方法
如果你在类中定义了__init__()这个方法,创建对象时,Python会自动调用这个方法。这个过程也叫初始化。
2、自定义运算符
使用dir(list)的时候,能看到一个属性,是__add__()。从形式上看是特殊方法(下划线,下划线)。它特殊在哪呢?
这个方法定义了"+"运算符对于list对象的意义,两个list的对象相加时,会进行的操作。
>>>print [1,2,3] + [5,6,9]
尝试一下
>>>print [1,2,3] - [3,4]
会有错误信息,说明该运算符“-”没有定义。现在我们继承list类,添加对"-"的定义
class superList(list): #superList 继承list属性
def __sub__(self, b):
a = self[:]
b = b[:]
while len(b) > 0:
element_b = b.pop()
if element_b in a:
a.remove(element_b)
return a
print superList([1,2,3]) - superList([3,4])
输出
[1, 2]
3、dir()与help()
dir()用于查看对象的所有属性
help()用于查询说明文档

被折叠的 条评论
为什么被折叠?



