当前位置: 首页>>代码示例>>Python>>正文


Python ABCMeta.__new__方法代码示例

本文整理汇总了Python中abc.ABCMeta.__new__方法的典型用法代码示例。如果您正苦于以下问题:Python ABCMeta.__new__方法的具体用法?Python ABCMeta.__new__怎么用?Python ABCMeta.__new__使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在abc.ABCMeta的用法示例。


在下文中一共展示了ABCMeta.__new__方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __new__

# 需要导入模块: from abc import ABCMeta [as 别名]
# 或者: from abc.ABCMeta import __new__ [as 别名]
def __new__(metacls, name, bases, dct):
        schema_attrs = metacls._get_schema_attributes(
            name=name,
            bases=bases,
            dct=dct
        )
        dct.update(schema_attrs)
        cls = ABCMeta.__new__(metacls, name, bases, dct)

        # allow self-references etc.
        for field_name, field in cls._fields.iteritems():
            field.set_parent(cls)

        if metacls.auto_register:
            auto_store.add_record(cls, _bump_stack_level=True)
        return cls 
开发者ID:spotify,项目名称:pyschema,代码行数:18,代码来源:core.py

示例2: from_class

# 需要导入模块: from abc import ABCMeta [as 别名]
# 或者: from abc.ABCMeta import __new__ [as 别名]
def from_class(metacls, cls, auto_store=True):
        """Create proper PySchema class from cls

        Any methods and attributes will be transferred to the
        new object
        """
        if auto_store:
            def wrap(cls):
                return cls
        else:
            wrap = no_auto_store()

        return wrap(metacls.__new__(
            metacls,
            cls.__name__,
            (Record,),
            dict(cls.__dict__)
        )) 
开发者ID:spotify,项目名称:pyschema,代码行数:20,代码来源:core.py

示例3: __new__

# 需要导入模块: from abc import ABCMeta [as 别名]
# 或者: from abc.ABCMeta import __new__ [as 别名]
def __new__(mcls, name, bases, namespace, **kwargs):

        def hot_patch(required, existing):
            if required not in namespace and existing in namespace:
                namespace[required] = namespace[existing]

        hot_patch('__iter__', 'get_data')
        hot_patch('__len__', 'size')

        return ABCMeta.__new__(mcls, name, bases, namespace, **kwargs) 
开发者ID:tensorpack,项目名称:dataflow,代码行数:12,代码来源:base.py

示例4: __new__

# 需要导入模块: from abc import ABCMeta [as 别名]
# 或者: from abc.ABCMeta import __new__ [as 别名]
def __new__(mcls, name, bases, namespace):
        cls = ABCMeta.__new__(mcls, name, bases, namespace)
        name = utils.convert_class_name(name)
        cls.models[name] = cls
        return cls 
开发者ID:dvhb,项目名称:dvhb-hybrid,代码行数:7,代码来源:model.py


注:本文中的abc.ABCMeta.__new__方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。