整合init方法和@class方法在一起?

时间:2019-02-27 05:06:15

标签: python

class bracket:
    a = {"(": ")", "[": "]", "{": "}"}
    d = []

    def __init__(self, value):
        self.value = value

    @classmethod
    def check_value(cls):
        for i in self.value:
            if i in cls.a:
                cls.d.append(i)
            elif len(cls.d) == 0 or cls.a[cls.d.pop()] != i:
                return False
        return len(cls.d) == 0

在方法def check_value(cls):中,如何根据我的知识词典self.value和列表{{1}来使init方法中的a变量起作用。 }是在d方法之外定义的,所以我使用的是init方法,那么如何将两个函数都集成到一个函数中?

1 个答案:

答案 0 :(得分:0)

您不应在此处使用类方法!属性ad应该用__init__方法初始化,因为it is not a good practice会将可变属性放在类主体中。