gpt4 book ai didi

python - 访问父类中的子类实例

转载 作者:行者123 更新时间:2023-11-28 22:55:51 24 4
gpt4 key购买 nike

在 Python 中,我有一个与任务类相关的设置字典。在这些任务的父构造函数中,我只想存储相关设置,但为此我需要从父类访问子类。

settings = {
SomeTask: { 'foo': 'bar' },
SomeOtherTask: { 'bar': 'foo' },
}

class SomeTask(BaseTask):
pass

class SomeOtherTask(BaseTask):
pass

class BaseTask:
def __init__(self, settings):
self.settings = settings[child_class]

在 PHP 中,我可以通过在构造函数中调用 get_class($this); 来做到这一点(返回子类名而不是父类名),Python 有类似的东西吗?

最佳答案

只需这样做:

class BaseTask:
def __init__(self, settings):
self.settings = settings[self.__class__]

class SomeTask(BaseTask):
pass

class SomeOtherTask(BaseTask):
pass

当您使用这些设置初始化其中一个子类时,它们将按照您的预期进行。

关于python - 访问父类中的子类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16280993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com