Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Meu terminal está apresentando o resultado da parta modelos

Esse é o código da pasta modelos/restaurante.py

class Restaurante:
    restaurantes = []

    def __init__(self, nome, categoria):
        self._nome = nome.title()
        self._categoria = categoria.upper()
        self._ativo = False
        Restaurante.restaurantes.append(self)

    
    def __str__(self):
        return f'{self._nome} | {self._categoria}'

    @classmethod
    def listar_restaurantes(cls):
        print(f'{'Nome do restaurante'.ljust(25)} | {'Categoria'.ljust(25)} | {'Status'}') 
        for restaurante in cls.restaurantes:
            print(f'{restaurante._nome.ljust(25)} | {restaurante._categoria.ljust(25)} | {restaurante.ativo}')

    @property
    def ativo(self):
        return '☑' if self._ativo else '☒'
    
    def alternar_estado(self):
        self._ativo = not self._ativo
 

E esse é o código main:

from modelos.restaurante import Restaurante

restaurante_mexicano = Restaurante('El-Chappo', 'mexicano')
restaurante_portugues = Restaurante('Marisco', 'petisco')
restaurante_italiano = Restaurante('Pizza-Planet', 'Pizzaria')


def main():
    pass

if __name__ == '__main__':
    main()

Ao chamar o resultatdo no terminal apresenta o segunte item: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Não entendi o que você quis dizer na dúvida, mas também não entendi a saída do seu terminal rsrs

Pelo curso, executar o arquivo app.py deveria sim executar a classe Restaurante, pelo falo de você importar a classe com from import e a função principal def main() ser a execução da classe com Restaurante.listar_restaurantes().

Porém no seu código na função main está pass, logo não deveria executar nada.

Entendido. Logo afirmo que foi um erro de digitação. Confesso que não reparei essa parte. Agradeço pelo apoio e atenção. Vou alterar.