Por que os objetos de função são avaliados como True em python?
Em python é válido fazer uma construção como:
def a():
return 0
if a:
print "Function object was considered True"
else:
print "Function object was considered False"
Gostaria de perguntar qual é a lógica que um ponteiro de função é avaliado como True.
Por que esse tipo de construção foi inserido na linguagem?