||
http://docs.python.org/2/reference/datamodel.html#specialnames
Python类的专用方法是在特殊情况下或当使用特别语法时由Python替你调用,而不是在代码中直接调用
__getitem__是一种专用方法,
def __getitem__(self,key): return self.data[key]
声明类的对象obj,那么obj[“name”]即可由python自行调用__getitem__
同理__setitem__专用方法
如果想要扩大函数的功能,需要在类中声明,而且还要声明父类相对应函数的调用,如果父类中没有定义该函数,userdict类中有,python会逐层找下去
其他的专用方法:
__repr__返回一个对象的字符串表示
__cmp__通过使用==,python自动调用
__len__调用len(instance),对于类实例,定义__len__方法,接着自己编写长度的计算,然后调用len(instance),python会替你调用你的__len__专用方法
__delitem__在调用del instance[key]时调用
还有其他的__call__,之类的,见网址吧~~~
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-22 10:18
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社