1
resposta

[Projeto] Meu codigo

# Atividade 1
class Carro:
    def __init__(self, modelo, cor, ano):
        self.modelo = modelo
        self.cor = cor
        self.ano = ano

carro_novo = Carro( modelo = 'Corola', cor = 'Prata', ano = 2025)
#Atividade 2

class Restaurante:
    def __init__(self, nome, categoria, localizacao, nota_avaliacao, ativo = False):
        self.nome = nome
        self.categoria = categoria
        self.localizacao = localizacao
        self.nota_avaliacao = nota_avaliacao
        self.ativo = ativo
 #4
    def __str__(self):
        return f'{self.nome} | {self.categoria}'
    

restaurante1 = Restaurante(nome='Casa da Pizza', categoria='Pizzaria', localizacao='boa', nota_avaliacao=4.9, ativo=True)

#Atividade 3
novo_restaurante = Restaurante(nome='Casa do Pão', categoria='Lanchonete', localizacao='ruim', nota_avaliacao=4.2, ativo=True)

#Atividade 4
restaurante_atividade4 = Restaurante(nome='Só Alegria', categoria='Comida caseira')
print(restaurante_atividade4)
#Atividade 5
class Cliente:
    def __init__(self, nome='', idade=0, email='', telefone=''):
        self.nome = nome
        self.idade = idade
        self.email = email
        self.telefone = telefone

cliente1 = Cliente(nome='Luiz', idade=40, email='luiz@gmail.com', telefone='011-92512-6245')
cliente2 = Cliente(nome='Marcos', idade=21, email='marcos@gmail.com', telefone='011-98754-2546')
cliente3 = Cliente(nome='Bianca', idade=32, email='bianca@gmail.com', telefone='011-96858-5221')
1 resposta

Oi, Mateus! Tudo bom?

Excelente! Continue resolvendo os desafios e compartilhando com a comunidade Alura.

Você soube aplicar construtores em Python de forma eficiente, aproveitou o parâmetro com valor padrão (ativo=False) para tornar a classe mais flexível e entendeu como o método especial __str__ é essencial para personalizar a exibição dos objetos no terminal.

Como dica adicional, experimente utilizar valores padrão em mais atributos quando precisar tornar o construtor mais robusto e evitar erros em instâncias com menos parâmetros. Assim:

class Restaurante:
    def __init__(self, nome, categoria, localizacao='não informada', nota_avaliacao=0.0, ativo=False):
        self.nome = nome
        self.categoria = categoria
        self.localizacao = localizacao
        self.nota_avaliacao = nota_avaliacao
        self.ativo = ativo

Usando:

restaurante = Restaurante(nome='Sabores do Sul', categoria='Churrascaria')
print(restaurante.localizacao)  # não informada
print(restaurante.nota_avaliacao)  # 0.0

Com isso, você poderá instanciar objetos com mais flexibilidade e segurança, mesmo com menos dados iniciais.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!