标签:
class Student(object):
def __init__(self,name = ‘‘):
self._name = name
def __getattr__(self,attr):
return Student(attr)
def __call__(self,para):
return Student(‘%s/%s‘%(self._name,para))
def __str__(self):
return self._name
__repr__ = __str__
print(Student().user(‘aleck‘))
在实例的方法调用中没有发现有user这个方法,通过__getattr__()来返回一个Student(user(‘aleck‘)),但是这里的user是一个函数,所以在调用的时候直接执行
__call__定义的方法,不知道是不是这样的,请指正。
标签:
原文地址:http://www.cnblogs.com/Aleck/p/5141098.html