一杯敬朝阳,一杯敬月光
所谓魔术方法,就是在自定义类中定义一些”不一般”的方法,使类的封装更完善功能更健全,是一种python特有的方法。它们的方法名一般是
__xx__
这样的格式,比如最常见的__init__
,就是一种魔术方法。下面我介绍一些在定义类中常见的魔术方法,并附上测试代码,请各位自行体验一下其美妙的魔术魅力吧。魔术方法
|
|
运行结果:123456789101112131415161718调用了类的__contains__方法:1 is in _list调用了类的__missing__方法: aaa is not in dict调用了类的__iter__方法: 5调用了类的__iter__方法: 4调用了类的__iter__方法: 3调用了类的__iter__方法: 2调用了类的__iter__方法: 1调用了类的__getattr__方法: class is not exists abc method调用了类的__repr__方法: {'a': 1, 'b': 2}调用了类的__str__方法: This is a Test Class for Python Magic Method调用了类的__len__方法: 5调用了类的__setitem__方法:ClassTest()['a']='12345'调用了类的__getitem__方法: 12345调用了类的__iter__方法: 1调用了类的__iter__方法: 2调用了类的__iter__方法: 3调用了类的__iter__方法: 4调用了类的__iter__方法: 5
更多魔术方法,参考:http://python.jobbole.com/88367/