当前位置: 首页 > news >正文

dwcc网站前台脚本怎么做音频扬州品牌网站设计

dwcc网站前台脚本怎么做音频,扬州品牌网站设计,微网站的建设模板有哪些内容,德州建设网站有编辑问题我正在尝试创建一个类工厂,它可以生成具有以下属性的枚举类#xff1a;从列表中初始化类允许值(即,它)自动生成#xff01;). Class创建自己的一个实例对于每个允许的值.类不允许创建任何其他实例一旦上述步骤已完成(任何尝试这样做会导致异常).类实…编辑问题我正在尝试创建一个类工厂,它可以生成具有以下属性的枚举类从列表中初始化类允许值(即,它)自动生成). Class创建自己的一个实例对于每个允许的值.类不允许创建任何其他实例一旦上述步骤已完成(任何尝试这样做会导致异常).类实例提供了一种方法这个,给定一个值,返回一个参考相应的实例.类实例只有两个属性id和value.该属性id自动递增每个新实例;属性value是实例的值代表.类是可迭代的.我更喜欢使用the acceptedanswer to another SO question实现这一点(具体来说,通过利用课程注册表和定义iter我的元类中的方法枚举类是实例).这就是我正在寻找的.请将原始文本(下方)视为问题的背景.很抱歉从一开始就不清楚.更新的答案我对aaronasterling的非常有用的答案做了一些修改.我以为我会在这里展示,以便其他人可以受益,所以如果我做错了,我会收到更多评论:)我做的修改是(0)移植到p3k(iteritems – items,元类 – ’metaclass ’,无需指定对象作为基类)(1)将实例方法更改为classmethod(现在我不需要对象来调用它,只需要类)(2)我不是一举填充_registry,而是每次构造一个新元素时都更新它.这意味着我可以使用它的长度来设置id,所以我摆脱了_next_id属性.它也适用于我计划的扩展(见下文).(3)从enum()中删除了classname参数.毕竟,该类名将是一个本地名称;无论如何,全局名称必须单独设置.所以我使用了一个虚拟’XXX’作为本地类名.我有点担心第二次调用该函数时会发生什么,但它似乎有效.如果有人知道原因,请告诉我.如果这是一个坏主意,我当然可以在每次调用时自动生成一个新的本地类名.(4)扩展此类以允许用户添加新的枚举元素的选项.具体来说,如果使用不存在的值调用instance(),则会创建相应的对象,然后由该方法返回.如果我从解析文件中获取大量枚举值,这将非常有用.def enum(values):class EnumType(metaclass IterRegistry):_registry {}def __init__(self, value):self.value valueself.id len(type(self)._registry)type(self)._registry[value] selfdef __repr__(self):return self.valueclassmethoddef instance(cls, value):return cls._registry[value]cls type(XXX, (EnumType, ), {})for value in values:cls(value)def __new__(cls, value):if value in cls._registry:return cls._registry[value]else:if cls.frozen:raise TypeError(No more instances allowed)else:return object.__new__(cls)cls.__new__ staticmethod(__new__)return cls原文我使用SQLAlchemy作为对象关系映射工具.它允许我将类映射到SQL数据库中的表.我有几节课.一个类(Book)是具有一些实例数据的典型类.其他(流派,类型,封面等)都是基本的枚举类型;例如,流派只能是’科幻’,’浪漫’,’漫画’,’科学’;封面只能是“硬”,“软”;等等. Book与其他每个类之间存在多对一的关系.我想半自动生成每个枚举样式的类.请注意,SQLAlchemy要求’scifi’表示为类Genre的实例;换句话说,简单地定义Genre.scifi 0,Genre.romance 1等是行不通的.我尝试编写一个元类枚举,它接受类的名称和允许值列表作为参数.我希望如此Genre enum(Genre, [scifi, romance, comic, science])会创建一个允许这些特定值的类,并且还可以创建我需要的每个对象类型(‘科幻’),流派(‘浪漫’)等.但我被卡住了.一个特别的问题是,在ORM意识到这个类之前我无法创建Genre(‘scifi’);另一方面,当ORM知道Genre时,我们不再是类构造函数了.另外,我不确定我的方法是好的开始.任何意见,将不胜感激.解决方法:基于更新的新答案我认为这满足了您所有指定的要求.如果没有,我们可以添加你需要的任何东西.def enum(classname, values):class EnumMeta(type):def __iter__(cls):return cls._instances.itervalues()class EnumType(object):__metaclass__ EnumMeta_instances {}_next_id 0def __init__(self, value):self.value valueself.id type(self)._next_idtype(self)._next_id 1def instance(self, value):return type(self)._instances[value]cls type(classname, (EnumType, ), {})instances dict((value, cls(value)) for value in values)cls._instances instancesdef __new__(cls, value):raise TypeError(No more instances allowed)cls.__new__ staticmethod(__new__)return clsGenre enum(Genre, [scifi, comic, science])for item in Genre:print item, item.value, item.idassert(item is Genre(item.value))assert(item is item.instance(item.value))Genre(romance)老答案回应你对Noctis Skytower答案的评论,其中你说你想要Genre.comic 流派(‘漫画’)(未经测试)class Genre(GenreBase):genres [comic, scifi, ... ]def __getattr__(self, attr):if attr in type(self).genres:self.__dict__[attr] type(self)(attr)return self.__dict__[attr]这将创建一个类型实例,以响应尝试访问它并将其附加到请求它的实例.如果您希望将它附加到整个类,请替换该行self.__dict__[attr] type(self)(attr)同type(self).__dict__[attr] type(self)(attr)这使得所有子类都创建子类的实例以响应请求.如果您希望子类创建Genre的实例,请将type(self)(attr)替换为Genre(attr)标签python,enumeration,sqlalchemy
http://www.huolong8.cn/news/419940/

相关文章:

  • 如何做网站编辑 沒技术网页模板的使用方法
  • 上海市住房和城乡建设厅网站查询wordpress修改配置文件
  • 免费制作软件的网站深圳网站建设策划方案
  • 个人网站建设合同范本网站建设合同甲乙双方怎么确定
  • 中土集团北方建设有限公司网站wordpress模版改版
  • wordpress 4.9 多站值得浏览的国外网站
  • 双流兴城投资建设有限公司网站肇庆建网站
  • 广西网络公司网站建设企业怎么样上各大网站做宣传
  • 天柱县住房和城乡建设部网站专业制作简历的软件
  • 哈尔滨网站建设哪儿好薇汕头市城乡与住房建设局
  • 网站视频与服务器的关系wordpress官方
  • 建设银行网站的机构有哪些行业自建网站
  • 找网络公司建网站的流程建设主题网站一般要经历的顺序
  • 手机网站可以做百度商桥吗如何购买一个网站的域名
  • 网站做外链怎么样电商平台推广费用预算
  • 金华网站建设方案报价最好的网站模板网站
  • dedecms网站地图模板怎么安阳网课
  • 手机wap网站如何建设商城网站设计价格
  • 怎么做云购网站程序员是做什么的工作内容
  • 做数据可视化图的网站个人品牌建设
  • 配置了iis打不开网站杭州建设信息港官网
  • 站长工具 网站改版网站备案在哪里备案
  • 有什么公司是建设网站的吗wordpress-5.2.zip
  • 网站搭建需要什么技术一品猪网站开发
  • 网站 数据报表如何做用vs2010做网站教程
  • 分析网站的网站太原网站建设的公司
  • 滁州市南谯区规划建设局网站做网站和做产品
  • 网站开发需求范本网站技术维护费
  • 简述网站的制作步骤网页游戏平台大全
  • 开发小网站排名手机购物网站模版