metaclass 相关问题

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

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

类元(类型): 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

如何在Python中创建漂亮的shell命令包装器

我创建了特殊的元类,这样我就可以为带有第一个“action”参数(没有破折号)的程序/命令提供很好的包装。特别是 svn、git 等。我不想为此使用外部工具

回答 2 投票 0

Django:元类顺序忽略 NULL

我需要使用 Django 模型的元类对查询集进行排序。 我这样定义它: 类 MyModel(models.Model): order = models.IntegerField(blank=True, null=True) 类元: 订购...

回答 1 投票 0

强制重写方法调用基本方法实现

班级基础: def 方法(自身): print("调用的基本方法") 派生类(基类): def 方法(自身): print("调用了派生方法") 我想找一个...

回答 2 投票 0

如何重新创建 `object` 和 `type` 在 Python 中保持的相同“基础和实例”关系?

最近在学习元类的知识。我了解到 isinstance(object, type) 和 issubclass(type, object)。我想写自定义类,像对象和类型一样,但是如何声明...

回答 1 投票 0

如何在 python 中声明类[重复]

最近在学习元类的知识。我了解到 isinstance(object, type) 和 issubclass(type, object)。我想知道我是否可以编写像对象和类型一样的自定义类。伪...

回答 0 投票 0

PyCharm 给我类型警告; mypy 不同意

我正在尝试编写一个名为 Singleton 的元类,当然,它实现了单例设计模式: 单例类(类型): def __new__(cls, name, bases = None, attrs = None): 如果...

回答 1 投票 0

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

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

回答 1 投票 0

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