У меня есть следующий класс:круговая зависимость в конструкторе класса
class CustomDictionary(dict):
def __init__(self, val, *args, **kwargs):
self.wk = val
super(dict, self).__init__()
def __setattr__(self, key, value):
if key in self.wk:
raise Exception("Wrong key", "")
key = key.replace(" ", "_")
self.__dict__[key] = value
def main():
wrong_keys = ("r23", "fwfew", "s43t")
dictionary = CustomDictionary(wrong_keys)
dictionary["a1"] = 1
Как вы можете видеть, я создаю атрибут wk
в constructor
. Но у меня есть функция __setattr__
, в которой я работаю с атрибутом wk
. Однако CustomDictionary object
не имеет атрибута wk
.
супер (Dict, самостоятельная) .__ INIT __() sould также будет супер (ДИКТ, самость) .__ инициализации __ (* ARGS ** kwargs) –
@Apero, спасибо за информацию. – Denis