Que signifie "appeler" une fonction en Python? [fermé]

Qu'est-ce que "Appeler" veut dire et faire? Comment "appeler" une fonction en Python?

10
demandé sur user2837438 2013-10-02 10:13:05

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.

18
répondu Joel Green 2013-10-02 06:22:30

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.

11
répondu Shashank 2017-05-23 12:25:26

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.

2
répondu queso 2013-10-02 06:24:40

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 .

0
répondu Haresh K Miriyala 2013-10-02 06:27:10