python - 有没有办法从类体内获取第一个基类?
问题描述
一个例子来说明:
class Base:
value = 'foo'
class Derived(Base):
value = super().value + 'bar'
super
不能从没有参数的类体中调用。我正在寻找一种可以放置在类主体中的通用语法,无论类的名称或其基类如何,都可以从其(第一个)基类中获取类属性。它存在吗?
解决方案
您可以使用 a来设置里面metaclass
的类变量的值:value
Derived
也许是这样的:
class Base(type):
value = 'foo'
def __init__(self, name, bases, namespace):
self.value = Base.value + self.value
class Derived(metaclass=Base):
value = 'bar'
Derived.value, Base.value
输出:
('foobar', 'foo')
推荐阅读
- php - 删除数组空PHP的结尾
- javascript - 图标在图像上未正确显示
- c# - 使用 IDataProtectionProvider 时如何为相同的输入生成相同的结果
- php - 将字符串数据传递给另一个方法并将其保存到 JSON 文件中
- flutter - 问:是否有任何用于颤振的小部件库工具?像 JS 有一点 UI 组件(https://bit.dev/)
- mysql - 如果它是新数据,如何插入或如果它已经存在则更新
- php - 如何从 php 系统(wget=...)输出到单个刷新行或进度条?
- html - CSS text-decoration underline, same width as text and underline
- javascript - JS 和画布的 HSL 颜色逻辑
- c++ - 模块化操作 (%) 提供错误输出