super() Proxy da classe pai

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

super() Proxy da classe pai

super() retorna um objeto proxy da classe pai; pode ser usado em métodos da subclasse para chamar a implementação da classe pai.

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

📝 Sintaxe

super([type[, object-or-type]])

⚙️ Parâmetros

type OpcionalThe class; the zero-arg form infers it.(Padrão:None)
obj OpcionalAn instance or class for MRO resolution.(Padrão:None)

Retorno:A proxy to the next class in the MRO; methods can be called through it.

💥 Exceções

▶ Exemplo

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

Saída:

A.hello
B.hello
Mais estudos de caso em breve — aguarde.

❓ Perguntas frequentes

QO que super() faz?
AChama a implementação homônima da classe-pai a partir de um método de subclasse: super().hello() localiza e chama o método hello da 'próxima classe' na MRO.
QPor que super() precisa ser chamado dentro de um método de classe?
AA forma sem argumentos infere automaticamente 'a classe e a instância atuais'; chamá-la fora de uma classe (ex.: numa função comum) levanta RuntimeError: super(): no arguments.
QQuando sou obrigado a escrever super().__init__()?
AQuando a subclasse sobrescreve __init__ e ainda quer que a classe-pai realize sua inicialização; sem isso o __init__ da classe-pai não é executado (a menos que ela seja object).
QEm que ordem super() encontra as classes-pai na herança múltipla?
ASegue a MRO (Method Resolution Order). super() não é 'a classe-pai direta', mas 'a próxima classe na MRO'; na herança múltipla isso trata corretamente a herança em losango e evita chamar a mesma classe-pai duas vezes.
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%