Classe de dados
O convidado já chega com o nome nora e o lugar 12, mas o init que prepara isso você não escreveu. A linha @dataclass em cima de Guest lê os campos e monta essa preparação sozinha. O str também não é você quem escreve. Nenhum pacote é instalado e nenhuma pasta é criada.
from dataclasses import dataclass
@dataclass
class Guest:
name: str
seat: int
guest = Guest("nora", 12)
print(guest)
Quem cria o convidado ainda é você: Guest("nora", 12). A palavra vem primeiro e o número depois, porque é nessa ordem que os campos foram declarados. Com print(guest), os dois saem juntos numa linha só, e a tela mostra exatamente isto: Guest(name='nora', seat=12). Esse convidado não está dentro de outro objeto, e Guest também não é classe filha de nenhuma outra.
As aspas em volta de nora existem porque ela é a palavra guardada. O 12 vem sem aspas por ser um número inteiro, sem ponto decimal. Quem escreve na tela é o print. guest.name vale nora e guest.seat vale 12. Não aparece segunda linha, badge não entra e blue não é escrito. Você nunca digitou str: o formato da linha impressa vem do @dataclass. Tire o print e a tela fica vazia, pois montar o convidado não é o mesmo que escrevê-lo.
Se você deixar o lugar de fora, o programa para. Guest("nora") não existe no programa: o campo seat ficou sem valor, e a parada se chama TypeError. None não é escrito e o programa não continua. As linhas name: str e seat: int são os campos. Elas não criam um segundo convidado nem uma pasta. Não escreva class Guest(Pen), porque essa forma cria uma classe filha. Uma bolsa com uma caneta dentro também não é o assunto desta página: aqui há um só convidado, e os dois campos moram nele.
Um convidado, dois campos
Um convidado foi criado, os dois campos ficaram preenchidos e o print os mostrou na tela. A próxima página é procurar a falha. Esta aqui apenas guarda um nome e um lugar e os escreve na tela.
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo