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

Duvida Ex4

Boa tarde

Poderiam me explicar o que é e como funciona uma um método estático ou @staticmethod?

Obrigado desde já.

2 respostas

Boa tarde,

Um método estático é um método que pertence à classe em vez de pertencer a instâncias individuais dessa classe. Ele pode ser acessado diretamente através do nome da classe, sem a necessidade de criar uma instância dessa classe.

Por exemplo:

class MinhaClasse:
    @staticmethod
    def metodo_estatico():
        print("Este é um método estático.")

# Chamando o método estático diretamente através do nome da classe
MinhaClasse.metodo_estatico()

A principal característica é que ele não requer uma instância, a classe não precisa ser instanciada para o método ser chamado.

Bons estudos!

solução!

Olá, Luiz

Talvez sua dúvida esteja relacionada com o fato de os professores terem utilizado @classmethod nas aulas e no exercício ter sido pedido @staticmethod... Então vamos falar sobre esses dois!

Para o contexto da aula e para o contexto do exercício, tanto @classmethod quanto @staticmethod nos atende. O que vai mudar é a forma de escrever e acessar a classe dentro do método.

A documentação explica que usando o @classmethod podemos ter acesso à classe, pois ela é passada como primeiro argumento implícito. Inclusive na aula, ao usar o @classmethod, o professor salientou que o padrão é nomear esse primeiro argumento com o nome cls. Tipo quando nomeamos o primeiro argumento como self, nos outros métodos, para passar a instância.

Já no @statismethod não temos acesso à classe pois ele não recebe a classe como argumento implícito.

Fontes: vozes da minha cabeça rsrs Brincadeira, as fontes são: