A adição de métodos pode ser feito via expressão lambda como mostrado na sintaxe baixo:
Sintaxe
nome_classe=type('nome_classe',(),
{
'nome_metodo': expressao_lambda
}
Exemplo 2
classe_anonima=type(‘nome_classe’,(),
{
'metodo': lambda a,b: a + b
}
obj = classe_anonima()
print(obj.metodo(1,2))
Saída
3
Funções também podem ser utilizadas sendo associadas aos métodos declarados em uma classe anônima.
Sintaxe
nome_classe=type('nome_classe',(),
{
'nome_metodo': nome_funcao
}
Exemplo 2.1
def funcao(self,a,b):
return a + b
classe_anonima = type('classe_anonima',(),
{
'metodo': funcao #atribuição de função
})
obj = classe_anonima()
print(obj.metodo(1,2))
Saída
3