59得票2回答
元类多继承不一致性

为什么会是这样:class MyType(type): def __init__(cls, name, bases, attrs): print 'created', cls class MyMixin: __metaclass__ = MyType class...

30得票3回答
在Ruby中动态定义命名类

我正在用 Ruby 编写内部 DSL。为此,我需要以编程方式创建带名称的类和嵌套类。最好的方法是什么?我想有两种方法可以做到: 使用 Class.new 创建一个匿名类,然后使用 define_method 添加方法,最后调用 const_set 将它们作为命名常量添加到某个命名空间。 使...

7得票2回答
在类定义中添加参数

我在使用Python时遇到了这个设计模式,想知道有没有人能解释一下,因为我以前从未见过它。 def func(): pass class Child(Parent, f=func): pass 不确定发生了什么。如果父类有元类定义,并且更改了类构造函数以允许通过参数传递,这...

14得票1回答
类型错误:__init_subclass__()不接受关键字参数。

我正在尝试创建一个元类,但是当我将它分配给另一个类时,我收到了以下错误信息: TypeError: __init_subclass__()不接受关键字参数 但是我并没有实现任何__init_subclass__方法。为什么会调用这个函数呢? class Meta(type): d...

10得票1回答
如何在PyQt子类中使用通用类型而不会发生元类冲突?

我曾尝试使用sip包装类型与abc.ABCMeta,当使用abc.ABC子类化时,它可以很好地工作。 class QABCMeta(wrappertype, ABCMeta): pass class WidgetBase(QWidget, metaclass=QABCMeta): ...

7得票2回答
如何使用classmethod修改类的文档字符串

我的问题: 我创建了一系列节点,每个节点都有一组与其关联的属性对象。这些属性对象通过描述和名称进行初始化。我希望这些属性及其描述能够出现在我的Sphinx文档中,而不必在类的docstring和属性初始化中分别维护名称/描述。 为了说明问题,请考虑以下代码: class Foo(obje...

9得票2回答
Python3中的类型子类化与对象子类化

我一直在阅读关于元类的内容,但当涉及到type和object类时,我就迷失了。 我知道它们处于层次结构的顶部,并且它们是用C代码实现的。我也明白type继承自object,并且object是type的一个实例。 在SO上我找到了答案之一,其中有人提到关于object-type关系的问题: ...

9得票1回答
Cython元类.pxd:我应该如何实现`__eq __()`?

我正在尝试通过添加一个Cython .pxd文件来扩充现有的Python源代码,就像Stefan Behnel在"使用Cython编译器编写快速Python代码"的幻灯片32至35页中所示。 作为练习的一部分,我在元类的__eq__()方法中遇到了麻烦。我希望我能选择一个更简单的例子来开始使...

9得票1回答
涉及枚举的多重继承元类冲突

我需要一个双重继承的类,它是一个枚举类型,但也支持我的自定义方法。 这是上下文: import abc from enum import Enum class MyFirstClass(abc.ABC): @abc.abstractmethod def func(self)...

8得票2回答
注册所有子类的最佳方法

我目前正在开发一款软件,其中我有从字典生成的类实例。这些字典文件的结构如下: layer_dict = { "layer_type": "Conv2D", "name": "conv1", "kernel_size": 3, ... } 然后,接下来运行以...