您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

这个简单的python元类有什么问题?

5b51 2022/1/14 8:23:09 python 字数 2454 阅读 598 来源 www.jb51.cc/python

Digression Start 我刚学会了Python中的元类.我不认为python的创建者希望每个人都使用它们.我的意思是名字,在大多数情况下可能不是一个类的元类足以让大多数人远离这个概念! Digression end 关于我的问题.我编写了这个简单的元类来为模块中创建的所有类添加默认的文档字符串.但它不起作用: def metest(cls,name,bases,dict): cl

概述

Digression Start

我刚学会了Python中的元类.我不认为python的创建者希望每个人都使用它们.我的意思是名字,在大多数情况下可能不是一个类的元类足以让大多数人远离这个概念!

Digression end

关于我的问题.我编写了这个简单的元类来为模块中创建的所有类添加认的文档字符串.但它不起作用:

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=@R_419_1603@

print t.__doc__

输出

None
None

我究竟做错了什么?

def metest(name,dict):
    print name,dict
    dict['__doc__'] = """New Doc"""
    cls = type(name+"_Meta",dict)
    return cls

class Test(object):
    "Old doc"
    __Metaclass__ = metest

print Test
print Test.__doc__

t = @R_419_1603@

print t.__doc__

>使用“元类”.>更正“类创建功能”的签名. cls将由我们创建.>为了区分,请使用“旧”和“新”文档字符串.

总结

以上是编程之家为你收集整理的这个简单的python元类有什么问题?全部内容,希望文章能够帮你解决这个简单的python元类有什么问题?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶