题外话开始
我刚刚了解了 Python 中的元类。我不认为 python 的创建者希望每个人都使用它们。我的意思是命名一些在大多数情况下可能不是类的元类足以让大多数人远离这个概念!
题外话结束
关于我的问题。我编写了这个简单的元类来为模块中创建的所有类添加一个默认的文档字符串。但它不起作用:
def metest(cls,name,bases,dict):
cls.setattr(cls,'__doc__',"""Default Doc""")
return type(cls,(),{})
__metaclass__=metest
class test(object):
pass
print test.__doc__
t=test()
print t.__doc__
输出:
None
None
我究竟做错了什么?