Fonctions¶
En programmation, une fonction est une suite d’instructions nommées. Ceci permet d’éviter de devoir réécrire des longues suites d’instructions et les appeler juste en invoquant le nom de la fonction.
Nous pouvons ainsi définir la fonction saluer()
def saluer():
print('Bonjour')
print('Comment vas-tu?')
print('...')
Une fois définie, la fonction peut être appelée, autant de fois qu’on veut.
saluer()
saluer()
Bonjour
Comment vas-tu?
...
Bonjour
Comment vas-tu?
...
Exercice
Créez une nouvelle fonction similaire en anglais avec le nom greet()
.
Fonctions natives¶
Python propose toute une série de fonctions natives et déjà prédéfinies.
La fonction print()
affiche une valeur.
print('hello')
hello
La fonction len()
retourne la longueur d’une chaine ou liste.
len('hello')
5
La fonction type()
retourne le type d’un objet.
type('hello')
str
Exercice
Trouvez une autre fonction native dans la documentation Python.
Fonction avec argument¶
Une fonction peut avoir un argument. C’est une variable qui lui est passée par les parenthèses
def saluer2(nom):
print('Bonjour', nom)
print('Comment vas-tu', nom)
print('...')
Par la suite nous pouvons appeler cette fonction avec un argument.
saluer2('Guido')
saluer2('Grace')
Bonjour Guido
Comment vas-tu Guido
...
Bonjour Grace
Comment vas-tu Grace
...
Exercice
Appelez la fonction avec votre propre nom.
Transformer un script en fonction¶
Voici 4 lignes de codes qui affichent la phrase bonjour Ada
trois fois.
nom = 'Ada'
n = 3
for i in range(n):
print('bonjour', nom)
bonjour Ada
bonjour Ada
bonjour Ada
Exercice
Transformez ce script en fonction avec deux arguments bonjour(nom, n)
.
Ensuite appelez-la avec des arguments appropriés.
La fonction minimale¶
La fonction minimale est
def f():
return
Elle consiste en
un mot-clé
def
un nom de fonction
f
(une ou plusieurs lettres)des parenthèses
()
avec des arguments optionnelsun deux-points
:
un mot-clé
return
Nous pouvons appeler (exécuter) cette fonction. Elle ne fait rien.
f()
Exercice
Affichez le resultat de cette fonction avec print()
.
Retour d’une valeur¶
Une fonction peut retourner une valeur comme résultat avec le mot-clé return
.
Par exemple
def additionne(a, b):
c = a + b
return c
Nous pouvons la tester.
additionne(3, 4)
7
Exercice
Définissez une fonction qui multiplie deux nombres et appelez-la.
Fonction de conversion¶
Le degré Fahrenheit est une unité de mesure de la température.
L’échelle de Fahrenheit est utilisée baucoup aux Etats-Unis.
Exercice
Définissez deux fonctions
F_en_C()
qui transforme Fahrenheit en CelsiusC_en_F()
qui transforme Celsius en Fahrenheit
et appelez-les.
Python avancé¶
Voici encore quelque infos avancés.
Info pour une fonction¶
Nous pouvons ajouter un docstring dans la définition d’une fonction. C’est une description qui suit immédaitement la signature (première ligne de la définition), entouré de triples apostrophes '''
.
def add2(x):
"""adds 2 to a number"""
return x + 2
Ajouter un point d’interrogation ?
au nom de la fonction retourne des informations sur l’objet.
add2?
Signature: add2(x)
Docstring: adds 2 to a number
File: ~/GitHub/edunum/doc/python/<ipython-input-1-52b82a4ce8ea>
Type: function
Ajouter deux points d’interrogation ??
au nom de la fonction retourne son code source.
add2??
Signature: add2(x)
Source:
def add2(x):
"""adds 2 to a number"""
return x + 2
File: ~/GitHub/edunum/doc/python/<ipython-input-1-52b82a4ce8ea>
Type: function
Ceci fonctionne avec toutes les fonctions, aussi les fonctions natives.
len?
Signature: len(obj, /)
Docstring: Return the number of items in a container.
Type: builtin_function_or_method
abs?
Signature: abs(x, /)
Docstring: Return the absolute value of the argument.
Type: builtin_function_or_method