metaclass 相关问题

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

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

____ subclasses__或通过__init_subclass__的注册表?

假设我要创建某个类的子类的注册表。现在,我可以想到两种方法,虽然我知道它们之间的(某些)差异,但我还是想了解更多有关...

回答 1 投票 0

在类的类方法内调用super()以获取元类方法

当我虽然理解元类时...免责声明:发布之前我一直在寻找答案,但是我发现的大多数答案都是关于调用super()以获得另一个@ ...

回答 3 投票 1

TypeError:元类“不带参数”

为什么我们为以下代码得到错误:StateMeta类:def __call __(* args,** kwargs):通过#end __call__#end StateMeta类State(metaclass = StateMeta):通过错误:...

回答 1 投票 0

[如何在仍然使用`class`关键字的同时覆盖构造函数? [重复]

创建类的两种著名方法如下所示:类Klass:通过Klass = type(“ Klass”,tuple(),dict())我想在仍使用类的同时重写构造函数(__call__)。 。

回答 1 投票 -2

____ metaclass__在Python 3中

在Python2.7中,此代码可以很好地工作,MetaTable中的__getattr__将运行。但是在Python 3中,它不起作用。类MetaTable(type):def __getattr __(cls,key):temp = key.split(“ __”)...

回答 1 投票 12

为什么python super()在ABCMETA类中没有参数就无法工作?

我在理解python3.6中abc.ABCMeta类中的函数super()行为时遇到问题。 class ParentClass():def test():返回1 @ six.add_metaclass(ABCMeta)类ChildClass(...

回答 1 投票 0

在python中使用attr模块和元类

[我正在尝试使用attr包来简单地创建一个具有属性和方法的元类,以便在Py 3的进一步的类定义中使用。我想使用attrs包,因为我有很多简单的方法...

回答 1 投票 0

如何使我的模式观察者与元类一起工作?

我想在我的class属性上设置一个模式观察器,我尝试使用@classmethod,但是它没有setter属性。 class dataframe():df =无@classmethod @property def weather(cls ......

回答 1 投票 0

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