栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

类工厂产生简单的类结构类?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

类工厂产生简单的类结构类?

ThomasH的变体的更新:

def Struct(*args, **kwargs):    def init(self, *iargs, **ikwargs):        for k,v in kwargs.items(): setattr(self, k, v)        for i in range(len(iargs)): setattr(self, args[i], iargs[i])        for k,v in ikwargs.items(): setattr(self, k, v)    name = kwargs.pop("name", "MyStruct")    kwargs.update(dict((k, None) for k in args))    return type(name, (object,), {'__init__': init, '__slots__': kwargs.keys()})

这允许传入参数(和命名参数)

__init__()
(无需任何验证-看起来很粗糙):

>>> Person = Struct('fname', 'age')>>> person1 = Person('Kevin', 25)>>> person2 = Person(age=42, fname='Terry')>>> person1.age += 10>>> person2.age -= 10>>> person1.fname, person1.age, person2.fname, person2.age('Kevin', 35, 'Terry', 32)>>>

更新资料

有一个研究如何

namedtuple()
在做到这一点collections.py。将创建该类并将其扩展为字符串并进行评估。还具有对酸洗等的支持。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号