1 / 9
文档名称:

python类中的特殊方法.txt

格式:txt   页数:9页
下载后只包含 1 个 TXT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

python类中的特殊方法.txt

上传人:zbfc1172 2013/1/9 文件大小:0 KB

下载得到文件列表

python类中的特殊方法.txt

文档介绍

文档介绍:类中的特殊方法
一般说来,特殊的方法都被用来模仿某个行为。例如,如果你想要为你的类使用x[key]这样的索引操作(就像列表和元组一样),那么你只需要实现__getitem__()方法就可以了。想一下,Python就是对list类这样做的!
下面这个表中列出了一些有用的特殊方法。如果你想要知道所有的特殊方法,你可以在《Python参考手册》中找到一个庞大的列表。
名称说明---------------------------------------------------------__init__(self,...) 这个方法在新建对象恰好要被返回使用之前被调用。__del__(self) 恰好在对象要被删除之前调用。__str__(self) 在我们对对象使用print语句或是使用str()的时候调用。__lt__(self,other) 当使用小于运算符(<)的时候调用。类似地,对于所有的运算符(+,>等等)都有特殊的方法。__getitem__(self,key) 使用x[key]索引操作符的时候调用。__len__(self) 对序列对象使用内建的len()函数的时候调用。__repr__(s) repr() and `...` conversions__cmp__(s, o) Compares s to o and returns <0, 0, or >0. Implements >, <, == etc...__hash__(s) Compute a 32 bit hash code; hash() and dictionary ops__nonzero__(s) Returns 0 or 1 for truth value testing__getattr__(s, name) called when attr lookup doesn't find __setattr__(s, name, val) called when setting an attr (inside, don't use " = value" use "[name] = val")__delattr__(s, name) called to delete attr <name>__call__(self, *args) called when an instance is called as
exec语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec语句执行这些语句。
下面是一个简单的例子。
>>> exec 'print "Hello World"'Hello Worldeval语句用来计算存储在字符串中的有效Python表达式。下面是一个简单的例子。
>>> eval('2*3')6 assert语句
assert 语句用来声明某个条件是真的。例如,如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么 assert语句是应用在这种情形下的理想语句。当assert语句失败的时候,会引发一个AssertionError。
>>> my