Jython - Fonctions
Une logique de programmation complexe est divisée en un ou plusieurs blocs d'instructions indépendants et réutilisables appelés fonctions. La bibliothèque standard de Python contient un grand nombre de fonctions intégrées. On peut également définir sa propre fonction en utilisant ledefmot-clé. Le nom défini par l'utilisateur de la fonction est suivi d'un bloc d'instructions qui forme son corps, qui se termine par l'instruction return.
Une fois défini, il peut être appelé à partir de n'importe quel environnement un nombre illimité de fois. Considérons le code suivant pour clarifier ce point.
#definition of function
defSayHello():
"optional documentation string"
print "Hello World"
return
#calling the function
SayHello()
Une fonction peut être conçue pour recevoir un ou plusieurs paramètres / arguments de l'environnement appelant. Lors de l'appel d'une telle fonction paramétrée, vous devez fournir le même nombre de paramètres avec des types de données similaires utilisés dans la définition de fonction, sinon l'interpréteur Jython lance unTypeError exception.
Exemple
#defining function with two arguments
def area(l,b):
area = l*b
print "area = ",area
return
#calling function
length = 10
breadth = 20
#with two arguments. This is OK
area(length, breadth)
#only one argument provided. This will throw TypeError
area(length)
le output sera comme suit -
area = 200
Traceback (most recent call last):
File "area.py", line 11, in <module>
area(length)
TypeError: area() takes exactly 2 arguments (1 given)
Après avoir exécuté les étapes qui y sont définies, la fonction appelée retourne à l'environnement appelant. Il peut renvoyer les données, si une expression est mentionnée devant le mot-clé return dans la définition de la fonction.
#defining function
def area(l,b):
area = l*b
print "area = ",area
return area
#calling function
length = 10
breadth = 20
#calling function and obtaining its reurned value
result = area(length, breadth)
print "value returned by function : ", result
La sortie suivante est obtenue si le script ci-dessus est exécuté à partir de l'invite Jython.
area = 200
value returned by function : 200