L'alternative en langage Python

Notion de bibliothèque en programmation

Pour pouvoir réaliser la moindre action, un ordinateur a toujours besoin de connaître une méthode.

Pour chacune des actions qu'il doit pouvoir exécuter, la méthode devrait donc être disponible dans la mémoire vive.

Mais, disposer en mémoire vive toutes les méthodes susceptibles d'être utilisées risque d'encombrer fortement cette mémoire. Et, un grand nombre de méthodes risquent de ne jamais être utilisées. Ce serait donc de la mémoire utilisée inutilement.

Recette

Analogie culinaire

Lorsque je reçois des amis, j'aime leur préparer un repas succulent. Dans ces occasions, j'utilise un livre de recettes.

  1. Je prends dans ma bibliothèque le livre qui contient la recette que je vais préparer.
  2. Je réalise la recette.
  3. Je remets le livre dans la bibliothèque.

Mais je ne retiens pas toutes mes recettes par coeur.

On peut procéder de manière similaire en programmation.

  • Ouvre une console de commande et démarre l'interpréteur Python.
  • Frappe la commande

>>> print cos(3.141592)

  • La réaction de l'interpréteur Python est immédiate:

>>> print cos(3.141592)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'cos' is not defined

Quand Python fâché, lui toujours dire des gros mots comme cela...

Ne nous laissons pas impressionner et voyons ce qu'il nous dit.

BibliothèqueL'interpréteur Python ne reconnaît pas le mot 'cos'. Ce qu'il indique par le message NameError: name 'cos' is not defined

Effectivement, pour ne pas encombrer la mémoire, aucune information sur la façon de calculer un cosinus n'a encore été fournie.

Il va falloir aller chercher la recette dans une bibliothèque.

Utilisation de quelques bibliothèques

  • Vérifie que l'interpréteur Python est toujours actif.
  • Frappe la commande

>>> from math import cos

Ce qui signifie que nous lui demandons de charger en mémoire la "recette" pour calculer un cosinus. Cette recette se trouve dans une bibliothèque nommée math.

  • Frappe la commande

>>> print cos(3.141592)

  • Vérifie que le résultat est mathématiquement correct.
  • Frappe la commande 

>>> print sin(3.141592)

  • Observe le résultat et tire la conclusion

Hé, hé... Je m'y attendais un peu à ce message d'erreur.

Et bien sûr, aucune difficulté pour trouver le remède...

Bien sûr que non, mais je sens que ça va vite devenir fatiguant de lui faire faire le moindre calcul mathématique. Il faut vraiment lui dire d'aller chercher fonction par fonction dans cette bibliothèque?

Heureusement non. Si l'on sait que l'on aura besoin d'un grand nombre de fonctions, on peut importer toute la bibliothèque en une fois.

  • Vérifie que l'interpréteur Python est toujours actif.
  • Frappe la commande

>>> from math import *

Cette instruction provoque l'importation de toutes les fonctions de la bibliothèque math.

  • Frappe les commandes suivantes puis interprète ce que fait chacune d'elles.

>>> print tan(0)
>>> print sqrt(9)
>>> print sqrt(16)
>>> print sqrt(-1)
>>> print degrees(pi)
>>> rayon = 4
>>> surface = 2*pi*rayon
>>> print surface

La librairie math est certainement la plus importante que nous utiliserons. Elle est décrite à la page https://docs.python.org/3/library/math.html. La plupart de ses fonctions seront utiles.

Il en existe toutefois d'autres.

La librairie random ("hasard", en anglais) contient un certain nombre de fonctions qui permettent de générer des nombres au hasard. Elle est décrite à la page https://docs.python.org/3/library/random.html.
Les fonctions principales à connaître de cette librairie sont randint(), random(), uniform().

La librairie turtle ("tortue", en anglais) contient un certain nombre de fonctions qui permettent de faire apparaître et de diriger une tortue à l'écran. Elle est décrite à la page https://docs.python.org/3/library/turtle.html


  • Vérifie que l'interpréteur Python est toujours actif.
  • Frappe la commande

>>> from random import *

  • Puis les commandes

>>> rayon = randint(2,10)
>>> surface = 2*pi*rayon
>>> print surface

  • Interprète le résultat de ces opérations.
  • Répète ces trois instructions.
  • Le résultat obtenu est-il identique? Pour quelle raison?
  • Frappe plusieurs fois la commande

>>> print random()*30

  • Peux-tu interpréter les résultats obtenus?
  • Vérifie que l'interpréteur Python est toujours actif.
  • Frappe les commandes

>>> from turtle import *
>>> clear()
>>> forward (150)
>>> right (90)
>>> forward (150)
>>>

  • Poursuis jusqu'à ce que la tortue ait dessiné un carré complet.

Quand le programme fonctionne correctement dans tous les cas possibles et que tu comprends bien son fonctionnement, passe à la page suivante. Vers la page suivante Page suivante


Dernière modification 13/03/2017 Test dans /info ...