python2.5版本之后没有__getattribute__函数了

不得闲 2010-05-15 08:09:37
好多书上介绍,Python调用属性的时候,也就是采用“对象.属性”这样的结构的时候会绝对调用__getattribute__这个函数,但是,这两天忽然发现,我的python2.5.4版本的,重载这个函数,居然根本没有任何实现

class test:
def __init__(self):
self.__dict__['Name']='test'
def __getattribute__(self,PropName):
print 'Get property %s'%PropName
return object.__getattribute__(self,PropName)

#然后测试
m=test()
print m.name#实际上,这个时候按照书上讲的,这时候就会调用__getattribute__这个函数的,应该打印出
'Get property name'然后在打印'test',但是,却只打印了test,说明根本就没调用__getattribute__这个函数,
请问是取消了这个函数的调用么?
...全文
157 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
javacode007 2010-05-16
  • 打赏
  • 举报
回复
修改成 class test(object):
.....
这样应该可以了吧
不得闲 2010-05-15
  • 打赏
  • 举报
回复
算了,算是放分吧!个天杀的,一定要继承自object,才行,否则就不会触发那个属性!

37,722

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧