Carregando...

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.

Nome e lugar do convidado

python
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

Pronto para Começar

Teste Seu Conhecimento

Desafie-se com este questionário interativo e veja o quão bem você entende o tópico

❓
7
Perguntas
🎯
70%
Para Passar
♾️
∞
Tempo
🔄
∞
Tentativas

📝 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