python 中 一切即对象,不外乎函数
>>> func = len
>>> func.__name__
'len'
>>> func('asdf')
4
所有函数都是可调用的对象,在类实例也可以变成一个可调用的对象
- 只需实现一个特殊方法 _ call_()
class Job(object):
def __init__(self, salary):
self.salary = salary
def __call__(self, salary=None):
print 'Salary of the job about %s...' % (salary or self.salary)
if __name__ == '__main__':
p = Job('¥10')
p('¥20')
结果为
Salary of the job about ¥20...