a6657266的个人博客分享 http://blog.sciencenet.cn/u/a6657266

博文

python 专用类方法

已有 3228 次阅读 2013-7-10 16:49 |系统分类:科研笔记| Python, 专用方法

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__,之类的,见网址吧~~~






https://blog.sciencenet.cn/blog-571755-706978.html

上一篇:python中换行符
下一篇:python中的异常
收藏 IP: 210.72.26.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-22 10:18

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部