Почему функциональные объекты оцениваются в True в Python?

В python допустимо сделать конструкцию наподобие:

def a(): 
    return 0

if a: 
    print "Function object was considered True"
else:  
    print "Function object was considered False"

Я хотел бы спросить, какова логика, что указатель функции оценивается как True.

Почему этот вид конструкции был вставлен в язык?

Ответы на вопрос(3)

Ваш ответ на вопрос