Junior — Middle
Explique o que é uma metaclasse no contexto da programação orientada a objetos e como ela é utilizada.
sobes.tech IA
Resposta da IA
Meta-classe em Python é uma classe que cria outras classes. Simplificando, uma classe é um objeto, e uma meta-classe é uma "classe para classes". Por padrão, todas as classes são criadas usando a meta-classe type.
As meta-classes permitem controlar o processo de criação de classes: podem modificar atributos, adicionar métodos ou verificar a estrutura da classe durante sua definição.
Exemplo de uso de uma meta-classe para adicionar automaticamente um método à classe:
class AutoMethodMeta(type):
def __new__(cls, name, bases, attrs):
attrs['hello'] = lambda self: f"Olá de {name}!"
return super().__new__(cls, name, bases, attrs)
class MyClass(metaclass=AutoMethodMeta):
pass
obj = MyClass()
print(obj.hello()) # Saída: Olá de MyClass!
Meta-classes são úteis para criar frameworks, ORM e outras ferramentas onde é necessário controlar a estrutura das classes.