Risque à ne pas utiliser d'espace de nom

ExempleImporter les modules math et numpy sans espace de nom

Dans ce premier exemple on importe math puis numpy :

1
from math import *
2
from numpy import *
3
4
a = array([2,3])
5
print("cos ", a, ' = ', cos(a))

Le résultat est correct

Dans ce second exemple on importe numpy puis math:

1
from numpy import *
2
from math import *
3
4
a = array([2,3])
5
print("cos ", a, ' = ', cos(a))

Le résultat est incorrect ; dans la librairie math les tableaux numpy ne sont pas connus, l'appel à cos d'un tableau numpy provoque une erreur.

import math * a écrasé toutes les fonctions de numpy avec un nom commun : sin, cos, log ....

Conseil

La syntaxe préférable est donc :

1
import numpy as np
2
from math import *
3
4
a = np.array([2,3])
5
print("cos ", a, ' = ', np.cos(a))