Quantos argumentos?
Crie uma função que receba uma função func e conte seus argumentos. Examinar o bytecode de uma função usando __code__ está desabilitado.
Exemplos
num_args(lambda: "") ➞ 0
num_args(lambda x: "") ➞ 1
num_args(lambda x, y: "") ➞ 2Observações
- Todas as expressões de função de teste aleatórias serão construídas usando
+,-,*e/. - Nenhum dos parâmetros de
functerá valores padrão. - Todas as funções serão convertidas em um objeto de classe personalizado para evitar o uso de
__code__. - Se desabilitar
__code__ou remover a funcionalidade das funções for rigoroso demais, sinta-se à vontade para deixar um comentário.