Saltar para o conteúdo principal
🔒 Modo de pré-visualização. As primeiras quinze aulas de Foundations são grátis; esta é Pro. Inicie um trial de 7 dias para desbloquear o editor, as dicas AI e o resto do programa. Cartão necessário, cancele a qualquer momento no Dashboard.Iniciar trial de 7 dias →
← CursosSenior Deep-DivesMódulo 5 · Arquitetura e revisão de código__slots__ aprofundamentopredict69 / 161
+100 XP
Tarefa
📝 **Pergunta:** Preveja o resultado exato. \`Compact\` usa \`__slots__ = ("x", "y")\` — não \`__dict__\`. \`Hybrid(Compact)\` adiciona \`__slots__ = ("__dict__",)\` — reativa explicitamente o dict por instância na subclasse. Três perguntas: (1) \`c.z = 99\` pode ter sucesso? (2) \`h.z = 99\` pode ter sucesso? (3) Cada instância possui um \`__dict__\`? 📋 Escolha a resposta certa. 💡 **Dica:** Releia a teoria acima se não tiver certeza.
Prevê a saída

Lê o código com atenção

class Compact:
    __slots__ = ("x", "y")


class Hybrid(Compact):
    __slots__ = ("__dict__",)


c = Compact()
c.x = 1
c.y = 2
try:
    c.z = 99
    print("compact:z_ok")
except AttributeError:
    print("compact:no_z")

h = Hybrid()
h.x = 1
h.y = 2
h.z = 99
print(f"hybrid:{h.x},{h.y},{h.z}")
print(hasattr(c, "__dict__"))
print(hasattr(h, "__dict__"))

O que o programa vai imprimir? Escreve aqui:

💬 Discussão

Seja o primeiro a fazer uma pergunta ou compartilhar uma dica.
Faça login para entrar na discussão. A leitura é gratuita.
Carregando discussão…