metaclass 相关问题

在面向对象的编程中,元类是一个类,其实例是类。正如普通类定义某些对象的行为一样,元类定义了某些类及其实例的行为。并非所有面向对象的编程语言都支持元类。

这是一个由Python实现的小型ORM,它和METACLASS版本之间的区别是什么?

我读了一些代码,它们实现了一个小的ORM(对象关系映射)而不使用了meatclass,看起来它也有效。那么它与使用元类版本之间的区别是什么......

回答 1 投票 0

使用__init_subclass__进行实现检查

我有一个项目,我有一个基类和一堆派生类。真的主要是为了确保我不会忘记任何我想要实现的任何方法实现...

回答 1 投票 0

当元类从继承类调用多个super().__ new__时,__ class___在Python 3.6中生成错误

这是一个在Python 2.7中工作的可执行代码,但在Python 3.6中导致错误:导入六个类AMeta(类型):def __new __(cls,name,bases,attrs):module = attrs.pop('...

回答 1 投票 0

__getattr__和__getattribute__用于动态生成的类的类/静态属性

这个问题回答了如何使用元类实现静态/类属性的__getattr__。但是,我想为type()生成的类实现__getattr__和__getattribute__ ...

回答 1 投票 1

什么是Python中的元类? __metaclass__

什么是元类,我们用它们做什么?

回答 15 投票 5121

如何将我自己的Meta类与SQLAlchemy-Model一起用作父类

我最近开始使用Flask作为我的后端框架。但是,最近我遇到了一个问题,我无法弄清楚如何解决它。作为最后的手段,我想在这里尝试我的改变。如果你 ...

回答 1 投票 2

为什么元类应该继承类型?

我们可以使用函数作为元类,我的理解是它们不是从类型派生的,如下所示:def test_meta(name,bases,atts):print(“testmeta called for”+ name)返回类型(...

回答 1 投票 1

在一个使用元类很多的库中,如何避免让用户遇到元类冲突?

我正在编写的库大量使用元类。举个例子,这是一个基本的单例实现:class SingletonMeta(type):_ instance = None def __call __(self,* args,** ...

回答 1 投票 2

实现python元类来改变类级变量

你能解释一下,如何实现AFactory类来做到这一点。看来我需要使用元类但是怎么样?我的所有尝试都失败了KeyError dct = {'key1':'value1','key2':'value2'} ...

回答 1 投票 1

使用与`type`不同的签名实现元类的正确方法是什么?

假设我想实现一个应该作为类工厂的元类。但是不同于带有3个参数的类型构造函数,我的元类应该可以调用而不带任何参数:Cls1 = ...

回答 1 投票 5

__instancecheck__ - 覆盖显示没有效果 - 我做错了什么?

我正在尝试使我的类看起来像一个不同的对象来绕过我正在使用的包中的惰性类型检查。更具体地说,我试图让我的对象显示为另一个的实例......

回答 2 投票 1

class_getClassVariable()做什么?

如果实例变量属于类的实例,那么类变量将属于元类的实例,我认为。但是我对Objective-C元类的经验告诉我这个......

回答 2 投票 11

TypeScript - 基于保存对构造函数的引用的变量定义类型

是否有可能获得一个保存对构造函数/类的引用的变量类型?我正在做:const componentUnderTest = MyComponent;输入TComponentUnderTest = MyComponent;我试图删除......

回答 1 投票 0

使用元类 - python访问类中的属性

我是python元类的新手并运行以下代码:类A(类型):@classmethod def _handle_attrs(cls,class_name,bases,attrs,** kwargs):#现在让我们找...

回答 1 投票 2

让一元运算符使用Python类

代码:>>> class Negative:... pass >>> class Positive:... @classmethod ... def __neg __(cls):... return Negative所以我试试>>> -Positive是...

回答 3 投票 4

如何堆栈元类

我想“堆叠”元类。 def dec(cls):class newmeta(cls .__ metaclass__):def __call __(cls,* args,** kwargs):obj = cls .__ metaclass __.__ call __(cls,* args,** kwargs)...

回答 2 投票 1

为什么__prepare__将name和bases作为参数

我正在从2.7迁移到3.x,我正在尝试理解PEP3115中引入的元类的__prepare__方法。在我见过的大多数例子中,这个的实现......

回答 2 投票 2

为什么不调用__instancecheck__?

我有以下python3代码:class BaseTypeClass(type):def __new __(cls,name,bases,namespace,** kwd):result = type .__ new __(cls,name,bases,namespace)print(“creation ...

回答 2 投票 4

Python protorpc动态消息

我正在使用protorpc和端点 - proto-datastore。我想从提供的结构中构建自定义消息。例如,它是以下键列表:['id1','id2','id3']每个键都是......

回答 1 投票 1

如何更改活动对象的isinstance()行为?

我想改变live python对象的isinstance的行为。一个解决方案是创建一个像下面这样的简单包装器,但我不喜欢它:class Widget:def __init __(self,obj):...

回答 1 投票 -1

© www.soinside.com 2019 - 2024. All rights reserved.