19/03/2021
Les fonctions
Les fonctions ont un grand avantage de découper le programme en blocs aux spécifications bien
précises.
L'instruction def définis une nouvelle fonction, elle est suivie du nom de la fonction et se termine
par ":". Le code se trouvant sous une instruction "def" devra être indenté d'une fois au moins
l’instuction def est une instruction exécutable, elle génère un nouvel objet portant le nom fourni.
Syntaxe :
def ma_fonc():
... <instruction>
Les fonctions
- Si la fonction retourne une valeur on utilise le mot clé return.
Exemple:
def ma_fonction(x):
f=1
for i in range(1,x+1):
f=f*i
return (f)
x = input("Un nombre entier : ")
x=int(x)
z= ma_fonction(x)
print(z)
1
19/03/2021
Les fonctions
En python les fonctions peuvent renvoyer plusieurs valeurs:
import math
def cos_sin(x):
return [[Link](x),[Link](x)]
print(cos_sin(0))
Les fonctions
Python renvoie un tuple ou une liste de deux arguments (ou plus) est
notamment très pratique si on veut utiliser l’affectation multiple.
import math
def cos_sin(x):
return [Link](x),[Link](x)
x,y=cos_sin(0)
print(x," ",y)
2
19/03/2021
Les fonctions
Arguments d'une fonction:
Il est possible de passer des arguments sous plusieurs formes, la méthode la plus
simple consiste à envoyer les valeurs voulues par la fonction en respectant leurs
nombres et leurs types.
Exemple:
def fonction(arg_un=0, arg_deux=2, ..., narg=‘Bonjour'):
Les fonctions
Les variables globales:
une "déclaration" global doit se faire dans une fonction pour que la variable puisse être
utilisée depuis un autre bloc.
Exemple:
def element_negatif(liste):
nb=0
for x in liste:
if x>0:
nb+=1
return(nb)
maliste=[2,-9,-8,3,-1,4]
print(element_negatif(maliste))
3
19/03/2021
Les fonctions
Exemple :
def puissance(x,y):
f=1
for i in range(1,y+1):
f=f*x
return (f)
x = input("Un nombre entier : ")
x=int(x)
y = input("Un nombre entier : ")
y=int(y)
z= puissance(x,y)
print(z)
Les fonctions
La récursivité :
def fact(n):
if (n<=1):
return(1)
else :
return(n*fact(n-1))
x = input("Un nombre entier : ")
x=int(x)
print(fact(x))
4
19/03/2021
Les fonctions
Lambda
Outre l'instruction def, Python offre une autre forme pour créer des objets
fonctions, il s'agit de l'expression "lambda" .
Syntaxe: f = lambda x, y, z :
Lambda est une expression, et non une fonction.
Le corps de lambda est similaire à ce que l'on place dans l'instruction return du
bloc def.
Les fonctions
Une fonction lambda est une petite fonction anonyme qui peut prendre n'importe
quel nombre d'arguments, mais ne peut avoir qu'une seule expression.
Exemple: Lamda Exemple: def
f=lambda x,y,z: x+y+z def fonc(x,y,z):
print(fonc(1,3,3)) return x+y+z
print(fonc(1,2,3))
5
19/03/2021
Les fonctions
Passage par valeur et passage par référence:
Passage par valeur : signifie qu'on passe à la fonction lors de son appel, non pas
la référence de l'argument mais seulement sa valeur (une copie de l'argument).
Passage par référence : signifie qu'on passe à la fonction lors de son appel une
référence de l'argument, donc essentiellement les deux références partagent la
même zone mémoire.
En Python, tous les passages de paramètres se font par référence.
Les fonctions
Exemple:
def fin(L,a):
[Link](a)
L=[4,7,1,3]
fin(L,10)
print(L)