Les objets fonction sont créés par les définitions de fonctions.
La seule opération permise sur un objet fonction est l'appel:
func(argument-list).
Concrètement, il y a deux sortes d'objets fonctions: les fonctions intégrées et les fonctions définies par l'utilisateur (fonctions utilisateur). L'opération d'appel de fonction est applicable aux deux types, mais l'implémentation est différente, donc les types d'objets sont différents.
L'implémentation ajoute deux attributs spéciaux, en lecture seule:
f.func_code est l'objet code de la fonction (voir plus loin) et f.func_globals est le dictionnaire utilisé
comme espace de nommage global pour la fonction (c'est comme
m.__dict__ où m est le module dans lequel est défini
f).