jstraitlets.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:schemapi 作者: altair-viz 项目源码 文件源码
def __init__(self, *args, **kwargs):
        classes = list(self._class_defs())
        if len(classes) == 0 or self.__class__ in self._class_defs():
            return super(AnyOfObject, self).__init__(*args, **kwargs)
        for cls in self._class_defs():
            # TODO: add a second pass where we allow additional properties?
            if all(key in cls.class_traits() for key in kwargs):
                try:
                    cls(*args, **kwargs)
                except (T.TraitError, ValueError):
                    pass
                else:
                    assert issubclass(cls, JSONHasTraits)
                    self.__class__ = cls
                    return super(JSONHasTraits, self).__init__(*args, **kwargs)

        raise T.TraitError("{cls}: initialization arguments not "
                           "valid in any wrapped classes"
                           "".format(cls=self.__class__.__name__))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号