简述 __init__、__new__、__call__ 方法

__new__方法先被调用,返回一个实例对象,接着 init 被调用。
__init__方法可以用来做一些初始化工作,比如给实例对象的状态进行初始化:
new__方法,它作为构造函数用于创建对象;
call 方法,它可以将类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call
()。
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')

原文地址:https://www.cnblogs.com/whnbky/p/14250685.html