Je suis assez nouveau dans la programmation, juste en apprenant le python.
J'utilise Komodo Edit 9.0 pour écrire des codes. Ainsi, lorsque j'écris "from math import sqrt", je peux utiliser la fonction "sqrt" sans problème. Mais si j'écris seulement "import math", alors la fonction "sqrt" de ce module ne fonctionne pas. Quelle est la raison derrière cela? Puis-je résoudre ce problème?
Vous avez deux options:
import math
math.sqrt()
importera le module math
dans son propre espace de noms. Cela signifie que les noms de fonction doivent être précédés de math
. C'est une bonne pratique car cela évite les conflits et ne remplace pas une fonction déjà importée dans l'espace de noms actuel.
Alternativement:
from math import *
sqrt()
importera tout du module math
dans l’espace de nom actuel. Cela peut être problématique .
Si vous appelez uniquement import math
pour appeler la fonction sqrt
, procédez comme suit:
In [1]: import math
In [2]: x = 2
In [3]: math.sqrt(x)
Out[3]: 1.4142135623730951
En effet, from math import sqrt
vous apporte la fonction sqrt
, mais import math
ne vous apporte que le module.
Lorsque vous utilisez uniquement import math
, la fonction sqrt
apparaît sous un nom différent: math.sqrt
.
Si vous avez besoin d’une racine carrée, vous pouvez aussi simplement augmenter un nombre de 0,5.
144 ** 0.5
donne le résultat:
12.0