Une fonction : c'est une variable

Complément

Une fonction peut être associée à une variable. Cela se fait simplement en utilisant l'affectation :

1
def f(x):
2
    return x + 1
3
    
4
print("La valeur de f(2) est :", f(2))
5
z = f
6
print("La valeur de f(2) est :", z(2))
7

ExempleUtilisation d'un dictionnaire

Problème : L'utilisateur peut calculer soit la moyenne, soit le minimum, soit le maximum de x et y s'il entre la lettre a, b ou c respectivement.

Une première solution est d'utiliser la structure conditionnelle if :

1
def f1(x, y):
2
    return (x + y)/2
3
def f2(x, y):
4
    return min(x,y)
5
def f3(x, y):
6
    return max(x,y)
7
    
8
x = 10
9
y = 30
10
lettre = input("Choisir la fonction (a, b ou c) ")
11
if lettre == 'a':
12
    print(f1(x, y))
13
elif lettre == 'b':
14
    print(f2(x, y))
15
elif lettre == 'c':
16
    print(f3(x, y))
17
else:        
18
    print("Code inconnu")
19

Une autre solution est d'utiliser un dictionnaire :

1
def f1(x, y):
2
    return (x + y)/2
3
def f2(x, y):
4
    return min(x,y)
5
def f3(x, y):
6
    return max(x,y)
7
8
code = {'a' : f1, 'b' : f2, 'c' : f3}    
9
x = 10
10
y = 30
11
lettre = input("Choisir la fonction (a, b ou c) ")
12
if lettre in code:
13
    print(code[lettre](x, y))
14
else:        
15
    print("Code inconnu")
16