Quando o professor no vídeo fez o seguinte ajuste no método abaixo:
@staticmethod
def listar_restaurantes(cls):
"""
Método da classe, e não da instancia
"""
print(f"{'Restaurante'.ljust(25)} {'Categoria'.ljust(25)} {'Status'}")
for restaurante in cls.restaurantes:
print(f"{restaurante._nome.ljust(25)} {restaurante._categoria.ljust(25)} {restaurante.ativo}")
'
Ou seja, informou o parâmetro de convenção (cls), minha chamada em baixo ficou errada apresentando o erro:
Restaurante.listar_restaurantes()
Erro:
Traceback (most recent call last):
File "C:\Users\Willian Santos\PycharmProjects\POO\AluraOOP\restaurante.py", line 46, in <module>
Restaurante.listar_restaurantes()
TypeError: listar_restaurantes() missing 1 required positional argument: 'cls'
O professor ao menos até esse vídeo não informou que é necessário ou qual parâmetro devemos informar, eu subentendi que seria a classe e ajustei com:
Restaurante.listar_restaurantes(Restaurante)