Fonctions et modules#

Vidéo: Les fonctions#

Fonctions natives#

Il existe des fonctions prêtes à l’emploi dans Python. On en a déjà vu plusieurs :

fonction

description

print()

affiche le résultat à l’écran

type()

renvoie le type (classe) de l’objet

str(), float() et int()

conversion d’un type vers un autre

del()

supprime un ou plusieurs éléments d’une liste

list()

effectue une copie superficielle d’une liste

Par exemple, pour obtenir le type de la valeur 10 et affecter le résultat à une nouvelle variable, on écrit :

resultat = type(10)

De manière générale, une fonction a des entrées et des sorties, et on l’appelle de la manière suivante :

sorties = nom_fonction(entrées)

La fonction len() permet d’obtenir la longueur d’une liste ou d’une chaîne, c’est-à-dire le nombre d’éléments contenus dans la liste, ou le nombre de caractères contenus dans la chaîne.

Les fonctions min() et max() renvoient respectivement le plus petit et le plus grand élément d’une liste qui contient des élements d’un même type. Si ces éléments sont des chaînes, alors ils sont classés dans l’ordre alphabétique (\(a < b < c < \dots\)).

Liste des fonctions natives

Vous pouvez trouver la liste des fonctions natives et leur description à l’adresse :

https://docs.python.org/fr/3.8/library/functions.html

Exercice#

  1. Vous prévoyez un voyage en France qui passe par les villes suivantes : Le Mans, Nantes, Limoges, Toulouse, Montpellier, Lyon, Dijon, Nancy. Créez une liste villes qui contient le nom de ces villes.

  2. À l’aide des fonctions len() et print(), affichez le nombre de villes que vous prévoyez de visiter à l’écran.

Hide code cell source
# Création de la liste de destinations
villes = ["Le Mans", "Nantes", "Limoges", "Toulouse", "Montpellier", "Lyon", "Dijon"]

# Affichage de la longueur de la liste
print(len(villes))
7

Aide#

Vous connaissez le nom d’une fonction mais vous ne vous souvenez plus comment l’utiliser ? Vous pouvez obtenir de l’aide (en anglais) grâce à une autre fonction, help(), ou bien en écrivant ? avant le nom de la fonction. Par exemple :

help(len)
Help on built-in function len in module builtins:

len(obj, /)
    Return the number of items in a container.

L’aide nous renseigne sur les entrées et sorties de la fonction. Dans l’exemple, on traduit par :

entrée

sortie

provenance

un objet (obj)

nombre d’éléments dans le conteneur

fonction native (built-in)

Conteneur

En Python, on appelle conteneur (container) un objet ayant vocation à en contenir d’autres, comme les chaînes qui contiennent des caractères, et les listes qui contiennent n’importe quel objet.

Voici un autre exemple :

help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

On voit ici qu’il y a plusieurs entrées. Les entrées obligatoires sont celles qui ne sont pas suivies du signe =. Les points … signifient que l’on peut écrire plusieurs valeurs. Les entrées optionnelles sont suivies du signe =, qui indique leur valeur par défaut.

Pour la fonction print(), il faut en entrée une ou plusieurs valeurs, séparées par des virgules. On peut ensuite spécifier, dans l’ordre que l’on veut, les entrées optionnelles :

option

valeur par défaut

description

sep

" "

séparateur entre les valeurs

end

"\n"

caractère à écrire en fin de ligne

On verra les autres options possibles plus tard. Par exemple, on peut écrire :

print("Le Mans", "Nantes", "Limoges", sep = ", ", end = " (mes destinations)\n")
Le Mans, Nantes, Limoges (mes destinations)

Aide du site Python

Vous pouvez consulter l’aide du site Python en Français. Il y a des tutoriels, des aides pour l’installation, une description de la bibliothèque standard, entre autres choses.

Exercice#

  1. Afficher l’aide de la fonction sorted() et comprendre son fonctionnement. Note : un itérable (iterable) est un objet capable de renvoyer ses éléments un à un, comme les listes et les chaînes.

  2. Afficher à l’écran les villes contenues dans la liste villes créée plus haut dans un ordre alphabétique descendant (de z vers a), grâce à l’option reverse = True de la fonction sorted(), et de la fonction print().

Hide code cell source
# Aide de la fonction sorted()
help(sorted)
Help on built-in function sorted in module builtins:

sorted(iterable, /, *, key=None, reverse=False)
    Return a new list containing all items from the iterable in ascending order.
    
    A custom key function can be supplied to customize the sort order, and the
    reverse flag can be set to request the result in descending order.
Hide code cell source
# Affichage de la liste dans l'ordre alphabétique inverse
print(sorted(villes, reverse = True))
['Toulouse', 'Nantes', 'Montpellier', 'Lyon', 'Limoges', 'Le Mans', 'Dijon']

Vidéo: Les méthodes#

Méthodes de chaînes#

Il existe beaucoup de méthodes pré-définies pour les chaînes de caractères. Nous en présentons quelques-unes ici. Pour avoir la liste complète, vous pouvez utiliser l’instruction help(str) ou bien consulter l’aide du site Python.

méthode

description

str.lower()

renvoit un texte en minuscules

str.upper()

renvoit un texte en majuscules

str.capitalize()

première lettre en majuscule

str.split()

renvoie une liste des mots séparés par des espaces

str.find(str)

recherche une chaîne spécifiée en entrée

str.replace(str1, str2)

substitue une chaîne par une autre

str.count(str)

compte le nombre d’occurrences d’une chaîne

str.startswith(str)

vérifie si une chaîne commence par une autre chaîne

str.strip()

“nettoie les bords” d’une chaîne

Exercice#

  1. Créer une variable ville = "TOULOUSE"

  2. Afficher le nom de la ville à l’écran avec la première lettre en capitale et le reste en minuscule

  3. Afficher à l’écran le nombre de fois que la lettre “o” apparaît dans le mot

Hide code cell source
# Création de la chaîne
ville = "TOULOUSE"

# Affichage avec seulement la première lettre en capitale
print(ville.capitalize())

# Nombre d'occurences de la lettre o
print(ville.lower().count("o"))
Toulouse
2

Méthodes de liste#

Il existe aussi beaucoup de méthodes pré-définies pour les listes. Nous en présentons quelques-unes ici. Pour avoir la liste complète, vous pouvez utiliser l’instruction help(list) ou bien consulter l’aide du site Python.

méthode

description

s.index(x)

indice de la première occurrence de x dans s

s.count(x)

nombre total d’occurrences de x dans s

s.append(x)

ajoute x à la fin de la séquence s

s.clear()

supprime tous les éléments de s (comme del(s[:]))

s.copy()

crée une copie de s (comme s[:])

s.extend(t)

étend s avec le contenu de t

s.insert(i, x)

insère x dans s à l’indice i

s.pop(i = -1)

récupère l’élément à l’indice i et le supprime de s

s.remove(x)

supprime le premier élément de s égal à x

s.reverse()

inverse l’ordre des éléments de s

Argument optionnel

Un argument suivi du signe =, comme dans s.pop(i = -1), veut dire que l’on n’est pas obligé d’écrire explicitement cet argument. Si on ne l’écrit pas, alors il prend une valeur par défaut qui est spécifiée après le signe =, et que l’on peut trouver dans l’aide de la fonction ; ici, c’est -1, donc s.pop() supprime le dernier élément de la liste s.

Exercice#

On décide d’aller à Poitiers plutôt qu’à Limoges. Il faut donc substituer "Poitiers" à "Limoges" dans notre liste des destinations. De plus, on veut ajouter Paris comme destination finale.

  1. Créer la liste villes = ["Le Mans", "Nantes", "Limoges", "Toulouse", "Montpellier", "Lyon", "Dijon"]

  2. Affecter l’indice de la chaîne "Limoges" dans la liste villes à une variable i.

  3. Insérer la chaîne "Poitiers" dans la liste villes à l’indice i.

  4. Retirer la chaîne "Limoges" de la liste villes, et ajouter "Paris" à la fin de la liste.

  5. Afficher la liste villes à l’écran.

Hide code cell source
# Création de la liste
villes = ["Le Mans", "Nantes", "Limoges", "Toulouse", "Montpellier", "Lyon", "Dijon"]

# Indice de l'élément "Limoges"
i = villes.index("Limoges")

# Insertion de la chaîne "Poitiers"
villes.insert(i, "Poitiers")

# Suppression de la chaîne "Limoges"
villes.remove("Limoges")

# Ajout de la chaîne "Paris" en fin de liste
villes.append("Paris")

# Affichage de la liste
print(villes)
['Le Mans', 'Nantes', 'Poitiers', 'Toulouse', 'Montpellier', 'Lyon', 'Dijon', 'Paris']

Vidéo: Les modules#

Importer un module#

Les modules sont des bibliothèques de fonctions. Il existe de nombreux modules pour le calcul scientifique, que nous verrons dans la suite du cours. La bibliothèque Python propose quelques modules numériques et mathématiques.

Pour importer un module dans notre programme, par exemple le module math, il suffit d’écrire :

import math

On peut alors utiliser les variables et les fonctions du module math en écrivant :

math.pi
3.141592653589793
math.sin(3 * math.pi / 4)
0.7071067811865476

On peut aussi changer le nom du module dans notre programme :

import math as mt

On accède alors aux fonctions avec le nouveau nom :

mt.e
2.718281828459045
mt.log(mt.e)
1.0

Exercice#

  1. Importer le module random en lui donnant le nom rd.

  2. Afficher à l’écran un chiffre aléatoire entre 0 et 1 à l’aide de la fonction random() du module random.

Hide code cell source
# Import du module random
import random as rd

# Affichage d'un nombre aléatoire entre 0 et 1
print(rd.random())
0.810732806772329

Import sélectif#

Finalement, on peut importer seulement quelques fonctions d’un module en les nommant. On n’a alors pas besoin de spécifier le module quand on les utilise :

from math import cos, radians # radians(x) convertit l'angle x de degrés en radians

angle = 360 # degrés
print(cos(radians(angle)))
1.0

Exercice#

  1. Importer les fonctions mean() et median() du module statistics.

  2. Lire leurs descriptions dans l’aide du module statistics.

  3. Créer une liste nombres = [7.2, 1.5, 9.3, 6.9, 14.2, 2.5, 87.2]

  4. Afficher à l’écran la moyenne et la médiane de la liste nombres.

Hide code cell source
# Import des fonction mean() et median() du module statistics
from statistics import mean, median

# Création de la liste
nombres = [7.2, 1.5, 9.3, 6.9, 14.2, 2.5, 87.2]

# Affichage de la moyenne et de la médiane
print("Moyenne : " + str(mean(nombres)))
print("Médiane : " + str(median(nombres)))
Moyenne : 18.400000000000002
Médiane : 7.2