1
resposta

Hora da prática: métodos especiais e atributos

class Carro():
    carros = []
    def __init__(self, marca, modelo, ano):
        self.marca = marca
        self.modelo = modelo
        self.ano = ano
        Carro.carros.append(self)
        
    def __str__(self):
        return f'Marca:{self.marca} | Modelo:{self.modelo} | Ano:{self.ano}'

def listar_carros():
 for carro in Carro.carros:
    print(carro)
             
carro1 = Carro('Nissan', '350z', 2010)
carro2 = Carro('Jeep', 'Renegade', 2014)
carro3 = Carro('Hyundai', 'i30', 2015)

listar_carros()

print('\\\\\\\\\\\\\\\\') print('\\\\\\\\\\\\\\\\') print('\\\\\\\\\\\\\\\\')

class Restaurante():
    restaurantes = []
    def __init__(self, nome, categoria, avaliacao, capacidade, ativo ):
        self.nome = nome
        self.categoria = categoria
        self.avaliacao = avaliacao
        self.capacidade = capacidade
        self.ativo = False
        Restaurante.restaurantes.append(self)
    def __str__(self):
        return f'Nome:{self.nome} | Categoria:{self.categoria} | Avaliação:{self.avaliacao} | Capacidade:{self.capacidade} Pessoas'

def listar_restaurantes():
    for restaurante in Restaurante.restaurantes:
        print(restaurante)
        
restaurante1 = Restaurante('KFC', 'Fast Food', 4.5, 400, True)
restaurante2 = Restaurante('Carne Gaúcha', 'Churrascaria', 5, 200, True)
restaurante3 = Restaurante('Sakura', 'Sushi', 4.7, 50, True)

listar_restaurantes()

print('\\\\\\\\\\\\\\\\') print('\\\\\\\\\\\\\\\\') print('\\\\\\\\\\\\\\\\')

class Cliente():
    def __init__(self, nome, idade, email, telefone,):
        self.nome = nome
        self.idade = idade
        self.email = email
        self.telefone = telefone
    def __str__(self):
        return f'Nome: {self.nome} | Idade: {self.idade} | Email: {self.email} | Número: {self.telefone}'
    
    
cliente1 = Cliente(nome='Ruan', idade=22, email='ruanshaolin@gmail.com', telefone='55 11 99763-7784')
cliente2 = Cliente(nome='Manu', idade=18, email='manulinda@gmail.com', telefone='55 11 98463-7364')
cliente3 = Cliente(nome='Alexandre', idade=49, email='ale@gmail.com', telefone='55 11 99263-7214')
cliente4 = Cliente(nome='Andrea', idade=49, email='deia@gmail.com', telefone='55 11 99163-4554')
 
 #optei por fazer desta maneira, para ver se obteria o mesmo resultado.
print(cliente1, '\n',cliente2, '\n',cliente3, '\n',cliente4)
1 resposta

Olá, Cristofer!

Você usou corretamente o método especial __str__ para personalizar a exibição dos objetos. Deixando as saídas muito mais legíveis e facilita a visualização dos atributos das classes.

Conte com o apoio do Fórum na sua jornada.