Que signifie "appeler" une fonction en Python? [fermé]
Qu'est-ce que "Appeler" veut dire et faire? Comment "appeler" une fonction en Python?
4 réponses
quand vous "appelez" une fonction, vous dites simplement au programme d'exécuter cette fonction. Donc, si vous aviez une fonction qui ajoute deux nombres tels que:
def add(a,b):
return a + b
vous appelleriez la fonction comme ceci:
add(3,5)
qui retournerait 8. Vous pouvez mettre n'importe quels deux nombres dans les parenthèses dans ce cas. Vous pouvez également appeler une fonction comme ceci:
answer = add(4,7)
qui définirait la variable réponse égale à 11 dans ce cas.
je vais donner une réponse légèrement avancée. En Python, les fonctions sont les objets de première classe. Cela signifie qu'ils peuvent être "dynamiquement créés, détruits, passés à une fonction, retournés comme une valeur, et avoir tous les droits comme les autres variables dans le langage de programmation ont."
appeler une instance de fonction / classe en Python signifie invoquer le __call__
méthode de cet objet. Pour les anciennes classes, les instances de classe sont également appelables mais seulement si l'objet qui les crée a un __call__
méthode. Il en va de même pour les classes de style nouveau, sauf qu'il n'y a pas de notion d ' "instance" avec les classes de style nouveau. Ce sont plutôt des "types" et des "objets".
tel que cité dans le Python 2 Modèle de Données de la page, pour la fonction des objets, instances de classe(vieux style de classes), et les objets de la classe(nouvelle-classes de style), "x(arg1, arg2, ...)
est un raccourci pour x.__call__(arg1, arg2, ...)
".
Donc chaque fois que vous définissez une fonction avec le raccourci def funcname(parameters):
vous êtes vraiment en train de créer objet avec une méthode __call__
et le raccourci pour __call__
est de simplement nommer l'instance et de la suivre avec des parenthèses contenant les arguments de l'appel. Parce que les fonctions sont des objets de première classe en Python, elles peuvent être créées à la volée avec des paramètres dynamiques (et donc accepter des arguments dynamiques). Cela devient pratique avec les fonctions/classes de décorateur que vous lirez plus tard.
pour l'instant je suggère de lire le Tutorial Officiel De Python.
Pour "appeler" les moyens d'en faire une référence dans votre code pour une fonction qui est écrit ailleurs. Cette fonction "call" peut être faite à la bibliothèque standard de Python (stuff qui est installé avec Python), aux bibliothèques tierces (stuff que d'autres personnes ont écrit et que vous voulez utiliser), ou à votre propre code (stuff que vous avez écrit). Par exemple:
#!/usr/env python
import os
def foo():
return "hello world"
print os.getlogin()
print foo()
j'ai créé une fonction appelée "foo" et plus tard, avec cette instruction print. J'ai importé la bibliothèque standard de Python" os" ensuite, j'ai la fonction "getlogin" dans cette bibliothèque.
quand vous invoquez une fonction , elle est appelée 'calling' une fonction . Par exemple , supposons que vous ayez défini une fonction qui trouve la moyenne de deux nombres comme ceci-
def avgg(a,b) :
return (a+b)/2;
maintenant, pour appeler la fonction , vous faire comme ceci .
x=avgg(4,6)
print x
la valeur de x sera 5 .