metaclass 相关问题

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

是否可以全局设置元类,使其适用于默认创建的所有类?

我得到一个元类可以代替类型并定义新创建的类的行为。例如:Class NoMixedCase(type):def __new __(cls,clsname,base,clsdict):用于clsdict中的名称:...

回答 1 投票 0

如何为模型实现声明抽象类和方法?

我想知道Django中是否有一种方法可以创建一个抽象类,在该类中我可以声明应在模型中实现的方法。通常,在Python中,我们这样声明抽象类:import ...

回答 2 投票 1

为什么在这种情况下不使用元类?

我的问题有两个方面:首先,我不理解为什么classBoundedInt的定义未调用MetaBoundedInt元类的__new __()方法,其次它想知道...

回答 2 投票 1

对元类的拦截运算符查找

我有一堂课,需要让每个运算符产生一些魔力,例如__add __,__ sub__等。我没有在类中创建每个函数,而是具有一个元类,该类定义了...

回答 3 投票 8

'super().__ init __()在python 3.x中是什么意思?

这两个代码示例之间有什么区别? 1:类SubType(type):def __init __(cls,name,bases,dct):super().__ init __(name,bases,dct)2:类SubType(type):def ...

回答 4 投票 2

使用两个不同的装饰器实现装饰所有类方法的元类

我在我写的此元类装饰器上应用装饰器的实现时遇到问题:def decorateAll(decorator):class MetaClassDecorator(type):def __new __(meta,...

回答 1 投票 5

Python(3)类属性怪异度

注:根据要求更新,以缩短代码和问题。希望这可以帮助。我正在尝试理解创建类属性的各种方式(例如,例如@property ...

回答 1 投票 0


Python元类-使类属性可通过类和类实例访问

使用python 3.7,我在元类中创建了一个类属性。我希望能够通过类本身或该类的实例化对象访问属性。我可以通过...

回答 1 投票 3

Groovy的missingMethod不会在闭包的委托中调用,以隐式调用非GroovyObjects

如果一个委托不是常规对象(例如,来自普通的Java库),则闭包将永远不会调用使用其元类添加到该委托中的'methodMissing'对象,如果调用是...

回答 1 投票 1

避免每次都调用__new __

我知道类是元类的实例,并且__new__在__init__之前运行,因为您必须在初始化实例之前创建一个实例。现在想象一下:import ...

回答 1 投票 1

使我的自定义列表类返回'列表'为类型

我正在编写一个自定义类,通过添加一些新功能(例如,改组,加法,乘法等)来扩展默认的python列表。代码如下所示:class xlist(list):...

回答 2 投票 0

我如何获得以编程方式声明的Python类的源代码?

我正在尝试使用inspect.getsource()获取这样定义的类的源:import inspect Cat = type('Cat',(),{})def meow_local(self):print( “ meow”)Cat.meow = meow_local ...

回答 1 投票 1


运行类的每个方法后修改实例变量的最佳方法?

我正在使用Python开发数据分析应用程序。我有一个DataAttributes类,它提供数据集的各种详细信息。但是,在获取其中一些值时,它使用了另一组...

回答 1 投票 1

在每个方法运行后更改类中实例变量的最简单方法?

说我想在运行类中的每个方法后更改实例变量。做这个的最好方式是什么?我知道如何使用装饰器(在非常基本的级别上),但不知道如何使用...

回答 1 投票 0

元类哈希,__ eq__和isinstance

我已经实现了一个类及其元类,都定义了二进制dunder方法,包括__eq__和__hash__。元类的__eq__方法应该简单地实例化该类,然后传递...

回答 1 投票 0

在基类和元类之间共享数据

我有以下Django模型:类Article(models.Model):文件名= models.CharField(max_length = 255)collection = models.ForeignKey(Collection,on_delete = models.CASCADE)键= ['...

回答 1 投票 0

类方法和元类方法之间有什么区别?

[在Python中,我可以使用@classmethod装饰器创建类方法:>>>类C:... @classmethod ... def f(cls):... print(f'f用cls = {调用cls}')... >>&...

回答 1 投票 4

元类继承

您好,我是python程序员,我想问一下元类:class MyMeta(type):通过class MyClass(metaclass = MyMeta):通过class MySubclass(metaclass = MyClass):...

回答 1 投票 0

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