metaclass 相关问题

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

动态添加的方法中调用super的正确方法是什么?

我定义了一个元类,它将一个名为“test”的方法添加到创建的类中: FooMeta 类(类型): def __new__(mcls、名称、基础、属性): 定义测试(自我): 返回

回答 1 投票 0

修改Enum默认返回值

我正在尝试修改 Enum 以默认返回值: 类 EnumDirectValueMeta(EnumMeta): def __getattribute__(cls, 名称): 尝试: 返回对象.__getattribute__(cls, name).v...

回答 1 投票 0

如何“模板化”使用 __new__ 作为工厂的注册表类?

我写了一个类BaseRegistry,它使用classmethod作为装饰器,用注册的类属性字典中的字符串名称来注册其他类。 这个字典是用来返回cl...

回答 3 投票 0

如何防止属性重新访问,直到所有属性都被访问一次(Python元类)?

我有一个属性列表,例如[“foo”,“bar”,“baz”],我想编写一个元类来确保以下属性: 它们都可以访问一次 他们可以...

回答 1 投票 0

以声明方式设置类 __name__

为什么不能以声明方式覆盖类名,例如使用不是有效标识符的类名? >>> 马铃薯类: ... __name__ = '不是土豆' ... >>> 马铃薯。

回答 1 投票 0

Python中通过外部对象创建嵌套类的实例时如何保留对父对象的引用?

通过外部对象创建嵌套类的实例时,是否可以保留对父对象的引用,而不需要显式地将父对象作为参数传递? 班级

回答 1 投票 0

继承自ABC和QMainWindow的抽象类[重复]

from abc import ABC,抽象方法 从 PyQt5.QtWidgets 导入 QMainWindow 类 _ControlGUI(QMainWindow, ABC): 经过 上面非常简单的代码引发了一个不太清楚的错误......

回答 1 投票 0

类/类的类型,使用元类创建

类元(类型): def __new__(cls, 名称, 基数, dct): new_class = 类型(名称, 基数, dct) new_class.attr = 100 # 添加一些到类中 返回新类 类 WithAttr(metac...

回答 1 投票 0

Python - 在创建过程中扩展枚举字段

是否可以在创建过程中扩展枚举? 例子: 类 MyEnum(enum.StrEnum): ID =“id” 名称=“名称 我需要在创建此枚举后包含下一个字段: 身份证...

回答 1 投票 0

优化嵌套类方法中的输入验证

我有以下示例类: 我的班级: @类方法 def 方法1(cls, 值): print(f'使用值调用的方法1:{value}') cls.method2(值) cls.method3(...

回答 1 投票 0

Python使用元类,导致Vscode无法给出类型提示

我创建一个元类并在类“Pool”中使用它,那么Vscode将不会提供任何有关Pool的类型提示 在 python 中,我创建一个像这样的元类: 类 SignSingleton(类型): def __init_...

回答 1 投票 0

用于包含类标识的类的 Python 装饰器

基本上我有一个基类和一个元类以及大量使用两者的类 我想避免一遍又一遍地执行类名称(Base,metaclass = Meta),而是这样做 @德科 班级名称: 我

回答 2 投票 0

覆盖由其子类传递给基类的元类的键值

当我通过ChildClass派生BaseClass时,BaseMetaClass.__new__(...)会运行两次。第一次使用关键字参数“foo”,第二次使用“bar”。 是否可以覆盖&

回答 1 投票 0

元类实例未按预期工作

我有以下班级层次结构: 班级表现:及格 听课:通过 AgentMeta 类(类型): def __instancecheck__(self, 实例:任意) -> bool: 返回 isinstance(实例,

回答 1 投票 0

元类实例未按预期工作

我有以下班级层次结构: 班级表现:及格 听课:通过 AgentMeta 类(类型): def __instancecheck__(self, 实例:任意) -> bool: 返回 isinstance(实例,

回答 1 投票 0

不知道Python元类示例代码中'return type.__new__(metacls, name, bases, namespace)'的含义和原因

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

回答 1 投票 0

类型错误:__init_subclass__() 不接受关键字参数

我正在尝试创建一个元类,但是当我将其分配给另一个类时,我收到错误 TypeError: __init_subclass__() 不接受关键字参数,但我没有实现任何 __init_subclass__ 。为什么...

回答 1 投票 0

如何为 SQLAlchemy 模型创建元类?

例如:我希望元类找到所有以“any_”开头的字段,并创建具有不同前缀的新字段。 我尝试这样: 类 MyModelMeta(类型): def __new__(mcs, n...

回答 1 投票 0

元类在Python中如何工作?

问题的起源我最近正在使用 django,并且习惯了模型、序列化器和表单中的 Meta 类。 到目前为止,我的理解是,我了解到元类用于创建 cl...

回答 2 投票 0

Python 具有继承性的分层数据结构

我想为分层数据结构创建一个元类,并编写一个框架供其他人使用。 我发现这个答案非常有帮助:https://codereview.stackexchange.com/a/162702/2754...

回答 1 投票 0

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