staticmethod() Decorador de método estático

Última atualização: 2026-09-22

staticmethod() Decorador de método estático

@staticmethod marca o método como estático: não recebe self nem cls.

CategoriaFunções internas
TipoFunção interna
Versão do Pythonall

📝 Sintaxe

@staticmethod
def func(...):

⚙️ Parâmetros

func ObrigatórioThe function (callable) to wrap as a static method.

Retorno:A static method descriptor; called without self or cls.

▶ Exemplo

Edite o código, clique em Executar e veja o resultado no painel de saída:

Saída:

7
Mais estudos de caso em breve — aguarde.

❓ Perguntas frequentes

QQual é a diferença entre staticmethod e classmethod?
Astaticmethod não recebe nenhum argumento especial e se comporta exatamente como uma função comum; classmethod recebe cls (a própria classe) como primeiro argumento, permitindo acesso a atributos de classe.
QUma instância pode chamar um método estático?
ASim — ambos C().add(1, 2) e C.add(1, 2) funcionam, com argumentos idênticos e sem passar self automaticamente como num método de instância.
QPor que usar staticmethod em vez de uma função de nível de módulo?
AAgrupar funções utilitárias relacionadas à lógica da classe em seu namespace organiza melhor o código, e elas podem ser herdadas e sobrescritas por subclasses.
QUma função com @staticmethod é comportamentalmente diferente de uma função comum?
ALogicamente não, apenas na 'propriedade': um método estático é acessado pela classe e se relaciona à lógica dela, enquanto uma função comum vive no namespace do módulo.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%