Seconde - Python - Fonctions - Cours

Fonctions mathématiques

Comment calculer $\sqrt{2}$ avec Python ?

Pour calculer une racine carrée, ou pour réaliser un calcul complexe qui n'est pas une opération de base, on utilise des fonctions semblables aux fonctions mathématiques que vous connaissez.

Toute fonction possède un nom et s'utilise de la manière suivante :

nomDeLaFonction(paramètres)

Les paramètres (ou arguments) écrits entre parenthèses sont des informations utilisées par la fonction pour faire ses calculs.

Pour calculer une racine carrée, la fonction à utiliser se nomme sqrt, pour square root, racine carrée en anglais. Cette fonction attend 1 seul paramètre, qui est le nombre dont on doit calculer la racine carrée. Pour calculer $\sqrt{2}$, on utilisera donc la syntaxe suivante :

sqrt(2)

Mais pour l'utiliser, il faut au préalable l'importer depuis le module math, comme pour le nombre $\pi$, avec la commande :

from math import sqrt

Pour afficher le résultat, on utilise l'instruction print que vous connaissez déjà. Instruction qui, en réalité, n'est rien d'autre qu'une fonction.

from math import sqrt # On importe la fonction sqrt depuis le module math racineDe2 = sqrt(2) # On stocke la valeur de racine de 2 dans une variable print(racineDe2) # On affiche le résultat avec print

Les informations écrites après les symboles # sont des commentaires. Ils ne sont pas affichés par le programme, ce sont des notes apportant une information pour le programmeur.

Il n'est cependant pas obligatoire de stocker la valeur de $\sqrt{2}$ dans une variable, on peut afficher directement le résultat en composant (en enchaînant) les fonctions print et sqrt.

from math import sqrt # On importe la fonction sqrt depuis le module math print(sqrt(2)) # On affiche directement la valeur de sqrt(2) avec print

Dans un cas comme dans l'autre, le résultat est un flottant représentant une valeur approchée de $\sqrt{2}$.

Pour calculer la valeur de $\sqrt{\pi}$, on peut utiliser le programme suivant :

from math import pi, sqrt print(sqrt(pi))

On importe directement la fonction sqrt et la variable pi depuis le module math en les séparant par des virgules.

Si je veux importer toutes les fonctions et variables du module math, il n'y a pas plus rapide ?

Si, en utilisant le symbole *. Avec la syntaxe suivante, on importe tout ce qui se trouve dans le module math. Ainsi, il n'est plus nécessaire de préciser le nom des fonctions que l'on souhaite utiliser.

from math import *

Combien y a-t-il de fonctions dans le module math ? Quelles sont-elles ?

Il y en a beaucoup ! Seules quelques unes sont utiles au lycée, hors de question de toutes les connaître. Pour les plus curieux, on peut trouver la liste en cliquant ici. Citons notamment :

Arrondi d'un nombre avec round

La fonction round calcule l’arrondi d’un flottant au nombre de décimales souhaité. Pour l’utiliser, il suffit d'employer la syntaxe suivante :

round(n,d)

où $n$ est le nombre à arrondir et $d$ le nombre de décimales souhaitées.

Contrairement à sqrt, la fonction round attend 2 paramètres, séparés par une virgule.

Calculons par exemple l'arrondi de $\frac{1}{6}$ à 3 décimales près :

print(round(1/6, 3))

Pourquoi n'a-t-on pas utilisé la commande from math import round pour importer la fonction round depuis le module math ?

round est une fonction de base de Python, tout comme print, elle ne se trouve pas dans le module math. Il n'est donc pas nécessaire de l'importer.

Nombres aléatoires avec le module random

Un autre module intéressant est le module random. Il contient des fonctions utiles à la génération de nombres aléatoires. On y trouve notamment les fonctions :

from random import * print(random()) # Flottant aléatoire entre 0 et 1 print(randint(1,6)) # Entier aléatoire entre 1 et 6

Ces nombres sont aléatoires, les résultats obtenus à chaque exécution seront donc différents.

Ces fonctions se trouvent dans le module random : il ne faut pas oublier de les importer !

Autres fonctions

Compter les caractères avec len

Il existe des fonctions qui s'appliquent à des chaînes de caractères, et len en fait partie. Grâce à cette fonction, il est possible de calculer le nombre de caractères dans une chaîne, comme le montre l'exemple suivant :

phrase = "Voici une longue phrase contenant 47 caractères" print(len(phrase))

Un espace est un caractère comme un autre !

La fonction len ne s'applique pas à des nombres.

Définir une fonction

Python permet de définir ses propres fonctions. Considérons par exemple la fonction mathématique $f$ définie sur $\mathbb R$ par $f(x) = x^2 + 3$. Pour définir cette fonction dans Python, la syntaxe est la suivante :

def f(x): return x**2 + 3

On remarquera notamment :

L’identation est un décalage vers la droite, obtenu en appuyant sur la touche Tab du clavier. Elle est essentielle à Python, qui doit savoir quelles sont les actions à réaliser lors de l’appel de la fonction.

Ici, la fonction retourne ( return ) le nombre $x^2 + 3$. C’est la seule action qui est réalisée.

Après le mot-clé return , plus aucune action ne sera éxécutée dans la fonction. L’identation n’est alors plus nécessaire.

Une fois notre fonction définie, on l'utilise comme n'importe quelle fonction. Calculons quelques images avec notre fonction :

def f(x): return x**2 + 3 print(f(1)) print(f(2)) print(f(-1.5))

Le nom d'une fonction suit les mêmes règles que le nom d'une variable. Ainsi, si on veut définir une fonction qui calcule l'aire d'un carré de côté $c$, on pourra le faire de la manière suivante :

def aireCarre(c): aire = c * c return aire

Plusieurs remarques :

Une fonction est comme un sous-programme. Lorsqu'on appelle notre fonction aireCarre, on donne la valeur du paramètre c (ou cote, peu importe). Cette valeur est alors utilisée dans le sous-programme constituant notre fonction. Par exemple, en écrivant aireCarre(3) :

On peut même définir des fonctions prenant plusieurs paramètres. Par exemple, une fonction qui calcule l'aire d'un rectangle :

def aireRectangle(longueur, largeur): return longueur * largeur
Dernière mise à jour : 04 Nov. 2022, 19:13:15