Como isolar dados de classe para instâncias individuais
Para evitar que os dados de classe sejam compartilhados entre várias instâncias e garantir que cada instância mantenha seus próprios dados, siga estas etapas:
Declarar variáveis dentro do construtor (método __init__)
Em vez de declarar variáveis de nível de classe fora de qualquer método, defina-as dentro do método construtor init. Por exemplo:
class a: def __init__(self): self.list = [] # Declared within __init__ to create instance-specific lists
Ao inicializar a lista em __init__, uma nova instância da lista é criada junto com cada nova instância do objeto.
Código de amostra:
class a: def __init__(self): self.list = [] x = a() y = a() x.list.append(1) y.list.append(2) x.list.append(3) y.list.append(4) print(x.list) # prints [1, 3] print(y.list) # prints [2, 4]
Neste exemplo, a lista não é mais compartilhada entre as duas instâncias (x e y), e cada instância mantém seus próprios dados separados, conforme desejado .
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3