metaclass 相关问题

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

元类级变量是否像类级变量那样级联到元类的实例化类的实例化对象?

我一直在深入查阅 Python 文档中的描述符,但我无法理解其中关于描述符调用和给定的 Python 等效对象的一些要点。

回答 1 投票 0

__call__() python 元类中的方法

我有以下代码。 类 CustomMetaClass(类型): def __call__(self, *args, **kwargs): print("自定义调用方法是从自定义元类调用的。") 类

回答 1 投票 0

有没有办法为继承类实现 __post_init__ 方法?

我想防止实例的用户在使用所述对象时错误地创建不存在的属性。 假设我有一个带有 init 和一些属性的类: Foo 类(对象): def __ini ...

回答 2 投票 0

Python 中的类型对象/类型类

当我们在 Python 脚本中说 type.(例如:type.__call__(..))时,我们访问的是类型类还是类型对象?解释器如何区分调用内容是否是

回答 0 投票 0

Python 中的类型对象

在 Python 中,我认为对象可用于类型类,对象名称与类名称相同,即类型。 我有一个关于这个的问题......当我们使用 type(classname,

回答 1 投票 0

如何确保类变量对象中定义的列表不在不同实例之间共享?

我有以下内容: 类循环: def __init__(self, group_class: Type[SegmentGroup], 开始: str, 结束: str): self.group_class = group_class self.start = 开始 自我结束= ...

回答 4 投票 0

如何在元类中调用基函数?

我想在许多 QGraphicsItem 继承类上有类似的自定义功能。 在实践中是这样的: 类 QGraphicsRectItem(QGraphicsRectItem): def mouseMoveEvent(自我,事件): 初...

回答 3 投票 0

如何在C++中模拟元类?

在 Object Pascal 中我们可以这样写: 类型 动物=类 结尾; 猫 = 类(动物) 结尾; 狗=类(动物) 结尾; MetaAnimal = 动物类; 功能工厂(m:MetaA ...

回答 1 投票 0

python元类没看懂

MyMeta 类(类型): def __init__(自身、名称、基础、属性): 经过 def __new__(cls, name, bases, attrs): attrs['desc'] = lambda self:“测试” 退...

回答 0 投票 0

不知道python元类示例代码中'return type.__call__(cls, *args, **kwds)'的含义和原因

我正在尝试了解 Python 元类。我几乎明白 Metaclass 在 python 中做了什么,但我无法理解示例代码的含义 类 MakeCalc(类型): def __new__(metacls, 名字, ...

回答 1 投票 0

Python kivy 类型错误

来自 kivy.uix.button 导入按钮 从 kivy.uix.label 导入标签 从 kivy.uix.textinput 导入 TextInput 从 kivy.uix.screenmanager 导入屏幕,屏幕管理器 来自 kivy.uix.gridlayout 我...

回答 0 投票 0

可作为实例方法调用?

比方说,我们有一个元类CallableWrappingMeta,它走的是一个新类的主体,用一个类来包装它的方法,InstanceMethodWrapper:import types class CallableWrappingMeta(type):......。

回答 4 投票 3

子类上不存在的类属性

主要是为了好玩,为了帮助我正在写的一个解析器中的一些人体工程学,我非常想重写一个类的__getattr__,而不对它的子类做同样的事情。解释一下,一些代码。...

回答 1 投票 0

Python元类与类装饰器

Python元类和类装饰器之间的主要区别是什么?是否有一些事情我可以用一个来做,但不能用另一个来做?

回答 2 投票 39

Python - 子类从另一个子类调用一个函数

我有一个相当大的类,我想把它分解成更小的类,每个类处理整个类的一个部分。所以每个子类只负责整体的一个方面。这些子类中的每一个...

回答 1 投票 2

用exec和setattr编辑__init__方法的属性到Metaclasse。

我试图修改一个类的__init__函数,目的是将继承类的属性设置为属性,并能够从子类中初始化继承类。它的工作原理应该是这样的...

回答 1 投票 0

如何使pycharm自动建议由元类修改的类的功能

为了简化代码处理数据库表,我写了一个metaClass工厂,如下所示:#metaClass factory def base_service(clz_of_model):@ db.transactional def add(self,obj):m = clz_of_model(** ...

回答 1 投票 0

是否有PyObject类的实现,可让您正确覆盖魔术方法?

所以我读了一本书,如果您想扩展诸如list,dict或str之类的内置类型,并且想要覆盖魔术方法,则应该使用集合中的UserList,UserDict和UserString ...] >

回答 1 投票 0

是否可以在Python的类中调用状态函数?

是否可以通过Python中的任何方式(继承,元类,类装饰器)直接设置某个值并将其获取到类中? B类不得被A中的set('a')污染。import sys类A:...

回答 2 投票 0

使用exec和setattr编辑内部Metaclasse的__init__方法属性

我试图修改类的__init__函数以将其设置为属性(继承的类属性),并能够从子类初始化继承的类。它应该像...

回答 1 投票 0

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