En Python , les fonctions de servir de base pour tout projet complexe . La pratique des fonctions de prototypage , ou les déclarer avant de les définir, a été autour depuis l'invention du langage de programmation C . Toutes les langues ne se comportent de la même façon. Alors que des langages comme C exigent généralement le prototypage de fonction , des langages tels que Python ne le font pas . En fait , Python dispose d'aucun mécanisme réel pour soutenir le prototypage . Cela est dû à la manière dont Python gère les fonctions . Fonctions
fonctions sont des blocs de code qui sont donnés un nom et un espace de mémoire par le compilateur ou l'interpréteur du programme. Tout comme une fonction mathématique , les fonctions de programmation prennent des arguments sous la forme de variables , sur lesquelles ils exercent une certaine tâche et produire un résultat . Fonctions programmeurs d'aide en ce qu'une fois créé , le programmeur peut continuer à appeler cette même fonction dans un programme en utilisant simplement son nom et fournir les arguments appropriés .
De Fonction Prototypes
< p > dans le langage de programmation C , définir des fonctions dans un programme nécessite un certain ordre. Après les commandes " préprocesseur " qui comprennent des bibliothèques externes et définir des macros , le programmeur doit déclarer le "prototype" de chaque fonction utilisée dans le programme , à l'exclusion de la fonction "main". Le prototype indique au compilateur C de mettre de côté la mémoire pour une fonction d'ajustement de la définition du prototype.
Référencement Forward
Puisque les programmes C utilisent prototypes dans le cadre de leur syntaxe , les fonctions C dans un programme sont souvent "avant de référencement ", ce qui signifie que les fonctions utilisées dans le programme ne seront pas définis avant que le code du programme. Essentiellement, avant de référencement signifie que le compilateur va permettre l'exécution d'une fonction, dans la compréhension que la fonction sera définie plus tard dans le programme. Puisque C utilise le prototypage , les fonctions ne sont généralement pas définis qu'après le programme principal , c'est à dire toutes les fonctions sont tournés vers le référencement.
Python et Référencement avant l'interprète de
Python ne permet pas prototypage de fonction . La commande " def" dans les fonctions Python comme une commande pour créer une fonction. Cela signifie que la fonction est créée sur place . L'interprète n'accepte pas qu'une fonction " sera " définie à un moment futur. La seule chose que l'interpréteur Python cherche , c'est quand la fonction sera utilisée . Par exemple, le premier appel à la fonction "foo" ne marchera pas, parce que "foo" n'a pas été défini . Le deuxième appel à l'intérieur de la classe A sera, car un objet de classe A seront créées après foo est déclarée :
foo () //avant de référencement
classe
A: def __ init__ ( self): foo ()
def foo () : print " Salut "
a = a () //pas avant référençant