Na aula de "convertendo para json" do curso de IO de Python (penúltima aula, tempo 13min11), o instrutor utilizou o método dump do objeto json, sendo que o parâmetro "default" dessa função foi atribuído a uma função do módulo que ele estava criando.
Ele estava demonstrando como poderíamos converter um arquivo csv para uma estrutura de dict a partir do duck typing dict(), então descreveu uma estrutura semelhante a esta.
def example(contato, path):
json.dump(contato, path, default = _method)
def _method(contato):
return contato.__dict__()
O problema é que ele executou desta forma e não obteve erro, para minha supresa (mas não dele), pois imaginei que a ausência do parâmetro "contato" quando invocada a função _method(contato) iria resultar num erro missing parameter.
Neste caso, o que ocorre em python? Ou eu que estou pensando errado?