(1)__str__:
http://blog.csdn.net/xiaofeng_yan/article/details/6616743
$cat test.py
class A:
def __str__(self):
return "this is in str"
if __name__ == "__main__":
a = A()
print a
+++++++++++++执行如下+++++++++++++++++++++++++
$python test.py
this is in str
https://www.cnblogs.com/coder2012/p/4309999.html
(2)__call__:
用于实例自身的调用
那么调用x.call(1,2)等同于调用x(1,2)
class Person(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
def __call__(self, friend):
print 'My name is %s...' % self.name
print 'My friend is %s...' % friend
#现在可以对 Person 实例直接调用:
>>> p = Person('Bob', 'male')
>>> p('Tim')
My name is Bob...
My friend is Tim...