码迷,mamicode.com
首页 > 其他好文 > 详细

__getattr__和__call__用法

时间:2016-01-19 10:22:24      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

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__定义的方法,不知道是不是这样的,请指正。

    

__getattr__和__call__用法

标签:

原文地址:http://www.cnblogs.com/Aleck/p/5141098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!