将类方法和实例方法调用的类似方法结合起来的 Pythonic 方式

问题描述

我有一个包含方法和类方法的类来创建图形。该类在类和实例级别上还有一个属性 auto_show。这用于决定是否应自动显示创建的图形。现在我需要两种不同的方法来实现这一点:

class MyClass:
    auto_show = True
    ...
    def __init__(self,...):
        self.auto_show = MyClass.auto_show
        ...

    @classmethod
    def _class_auto_show_figure(cls,fig):
        """Should be used only for class methods"""
        if cls.auto_show:
            fig.show()

    def _auto_show_figure(self,fig):
        if self.auto_show:
            fig.show()

现在第一个在所有类方法中调用,第二个在所有实例方法中调用。我想将它们组合在一种方法中,但找不到令人满意的方法来做到这一点。是否有一个很好的解决方案,或者我应该坚持使用两种不同的方法来做基本相同的事情? (顺便说一句。与类属性相比,实例可以具有不同的 auto_show 值很重要。)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)